Java ArrayList.addAll() – 向列表添加多个项目

培训教学 潘老师 7个月前 (10-09) 172 ℃ (0) 扫码查看

ArrayList.addAll(collection) 方法将指定集合中的所有元素追加到当前 ArrayList 的末尾。追加元素的顺序与参数集合的迭代器返回它们的顺序相同。要向列表添加单个项目,建议使用ArrayList.add() 方法。

请注意,我们可以向 ArrayList 添加任何类型的元素,但为了使应用程序代码更可预测,在编译时应该仅使用泛型添加特定类型的元素。如果不这样做,可能会在运行时引发 ClassCastException

//快速指南
//创建arraylist
ArrayList<String> arraylist = new ArrayList<>();
//需要添加到arraylist的元素集合
List<String> newElements = Arrays.asList("e", "f");
//添加到arraylist末尾
arraylist.addAll(newElements);
//添加到指定index索引位置
arraylist.addAll(2, newElements);

1.ArrayList.addAll() 方法

addAll() 方法首先确保列表中有足够的空间。如果列表没有足够的空间,它会通过向后备数组中添加更多空间来扩展列表。

然后 addAll() 将新元素追加到列表的末尾或指定的索引位置。

public boolean addAll(Collection<? extends E> c);
public boolean addAll(int fromIndex, Collection<? extends E> c);
  • 方法参数:包含要添加到此列表的元素的集合。当存在 fromIndex 参数时,集合项目将插入到指定的索引位置。
  • 返回值:如果此列表因此而更改,则返回 true
  • 抛出异常:如果指定的集合为 null,则抛出 NullPointerException。

2.示例:向 ArrayList 添加集合

为了演示目的,我们创建了两个包含字符串的 ArrayList。第一个 ArrayList 包含 4 个元素,而第二个 ArrayList 包含 2 个字符串。

ArrayList<String> list1 = new ArrayList<>();    //list 1
list1.add("A");
list1.add("B");
list1.add("C");
list1.add("D");
ArrayList<String> list2 = new ArrayList<>();    //list 2
list2.add("E");
list2.add("F");

2.1. 追加项目到 ArrayList 末尾

默认情况下,addAll() 方法将来自参数集合的元素追加到调用该方法的当前 ArrayList 的末尾。

例如,以下 Java 程序使用 addAll() 将另一个列表的元素添加到当前 ArrayList 中。我们声明了泛型列表类型,以确保在运行时获得类型安全性。

list1.addAll(list2);
System.out.println(list1);      //[A, B, C, D, E, F]

2.2. 在指定位置追加项目

当我们想要在指定索引处追加列表项时,可以将该索引位置传递给方法参数。这还可以帮助在当前 ArrayList 的开头添加列表项,即在元素之前添加。

例如,让我们传递 ‘fromIndex’,该方法将在指定集合的元素插入到的位置。我们将元素插入到索引位置 2,即在当前列表的中间。

list1.addAll(2, list2);
System.out.println(list1);      //[A, B, E, F, C, D]

3.结论

ArrayList 类非常灵活,提供了许多方便的方法来添加或删除元素。addAll() 就是其中一种可以在单个语句中添加多个元素的方法。

尽管如此,如果不使用泛型,程序员需要确保参数集合与当前 ArrayList 中的元素具有相同的类型。


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

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

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