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

培训教学 潘老师 7个月前 (09-26) 324 ℃ (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]

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

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

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


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/teach/9289.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】