
我们可以使用List的addAll()方法来添加两个列表。
使用不带索引参数的addAll()方法
boolean addAll(Collection<? extends E> c)
将指定集合中的所有元素按照指定集合的迭代器返回的顺序附加到此列表的末尾(可选操作)。如果在操作进行过程中修改了指定的集合,则该操作的行为是未定义的。 (请注意,如果指定的集合是此列表,并且它非空,则会发生这种情况。)。
参数
c - 包含要添加到此列表的元素的集合。
返回
如果此列表因调用而更改,则返回 True。
立即学习“Java免费学习笔记(深入)”;
抛出
-
UnsupportedOperationException - 如果此列表不支持 addAll 操作。
ClassCastException - 如果指定集合的元素的类阻止将其添加到此列表中。
- NullPointerException - 如果指定的集合包含一个或多个 null 元素,并且此列表不允许 null 元素,或者指定的集合为 null。
- IllegalArgumentException - 如果指定集合的元素的某些属性阻止将其添加到此列表中。
使用 addAll() 方法带索引参数
boolean addAll(int index, Collection<? extends E> c)
将指定集合中的所有元素插入到此列表的指定位置(可选操作)。将当前位于该位置的元素(如果有)和任何后续元素向右移动(增加它们的索引)。新元素将按照指定集合的迭代器返回的顺序出现在此列表中。如果在操作进行过程中修改了指定的集合,则该操作的行为是未定义的。 (请注意,如果指定的集合是此列表,并且它非空,则会发生这种情况。)
参数
index - 从指定集合中插入第一个元素的索引。
c - 包含要添加到此列表的元素的集合。
返回
如果此列表因调用而更改,则返回 True。
抛出
UnsupportedOperationException - 如果此列表不支持 addAll 操作。
ClassCastException - 如果指定集合的元素的类阻止将其添加到此列表中。
NullPointerException - 如果指定集合包含一个或多个 null 元素,并且此列表不允许 null 元素,或者指定的集合为 null。
IllegalArgumentException - 如果某个属性指定集合的元素阻止将其添加到此列表中。
IndexOutOfBoundsException - 如果索引超出范围(索引 size())。
示例
以下示例显示如何使用 addAll() 方法添加两个列表 -
package com.tutorialspoint;
import java.util.ArrayList;
import java.util.List;
public class CollectionsDemo {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
System.out.println("List: " + list);
List<String> list1 = new ArrayList<>();
list1.add("D");
list1.add("E");
list1.add("F");
System.out.println("List1: " + list1);
list.addAll(list1);
System.out.println("Updated List: " + list);
List<String> list2 = new ArrayList<>();
list2.add("G");
list2.add("H");
list2.add("I");
list2.addAll(0, list);
System.out.println("List2: " + list2);
}
}输出
这将产生以下结果 -
List: [A, B, C] List1: [D, E, F] Updated List: [A, B, C, D, E, F] List2: [A, B, C, D, E, F, G, H, I]











