文
章
目
录
章
目
录
Java ArrayList类是集合框架的一部分。ArrayList是可调整大小的数组数据结构的实现,当需要时,在运行时会自动增长和缩小,以适应元素的添加或移除。
新元素总是添加到当前ArrayList的末尾,除非我们明确指定要添加新元素的索引位置。
Quick ReferenceArrayList<String> arraylist = new ArrayList<>();
arraylist.add("apple"); // [apple]
arraylist.add("banana"); // [apple, banana]
//在索引位置1处添加新元素。
arraylist.add(1, "grapes"); // [apple, grapes, banana]
//在索引位置0处添加多个元素。
arraylist.add(0, Arrays.asList("date", "guava")); // [date, guava, apple, grapes, banana]
让我们更详细地了解一下。
1.ArrayList的add()和addAll()方法
ArrayList.add()方法将指定的元素插入到列表中的指定位置。它将当前在该位置的元素(如果有的话)以及任何后续元素向右移动(它们的索引将增加1)。请注意,索引从0开始。
add()方法不返回任何值。
void ArrayList.add(index, itemToAdd);
同样,如果我们需要向ArrayList添加多个项目,可以使用addAll()方法,它接受另一个集合并将其添加到指定的索引位置。如果成功添加了项目,它将返回true,否则返回false。
boolean ArrayList.addAll(index, collectionOfItems);
2.添加元素到指定索引位置的示例
让我们以在索引位置1处添加一个项目的示例为例。
ArrayList<String> namesList = new ArrayList<>(Arrays.asList("alex", "brian", "charles"));
namesList.add(1, "Lokesh");
System.out.println(namesList); //[alex, Lokesh, brian, charles]
类似地,我们可以通过将另一个列表传递给addAll()方法来添加多个元素到列表中。
在以下示例中,我们将新元素添加到列表的开头。这将使所有现有元素向右移动。
ArrayList<String> list = new ArrayList<>(Arrays.asList("a", "b", "c"));
list.addAll(0, List.of("1", "2", "3"));
System.out.println(list); //[1, 2, 3, a, b, c]
3.注意IndexOutOfBoundsException
如果参数索引超出范围,add()和addAll()方法将抛出IndexOutOfBoundsException异常。
Assertions.assertThrows(IndexOutOfBoundsException.class, () -> {
namesList.add(10, "Lokesh");
});
4.结论
ArrayList类提供了便捷的方法来在指定的索引位置添加元素。这些方法将添加新元素并将当前元素以及后续元素向右移动。
我们必须注意类型安全性和向方法提供的任何无效索引位置。否则将导致异常。