Java中向ArrayList的指定索引位置添加元素

IT 文章2年前 (2023)发布 小编
0 0 0

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]

让我们更详细地了解一下。

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站

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处添加一个项目的示例为例。

ad

AI 工具导航

优网导航旗下AI工具导航,精选全球千款优质 AI 工具集

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类提供了便捷的方法来在指定的索引位置添加元素。这些方法将添加新元素并将当前元素以及后续元素向右移动。

我们必须注意类型安全性和向方法提供的任何无效索引位置。否则将导致异常。

© 版权声明

相关文章

暂无评论

暂无评论...