如何在 Java 中添加两个列表?
我们可以使用 List 的 addAll() 方法来添加两个列表。
使用不带索引参数的 addAll() 方法
boolean addAll(Collection<? extends E> c)
将指定集合中的所有元素追加到此列表的末尾,按照指定集合的迭代器返回的顺序(可选操作)。如果在操作进行过程中修改了指定的集合,则此操作的行为未定义。(请注意,如果指定的集合是此列表,并且它非空,则会发生这种情况)。
参数
c − 包含要添加到此列表中的元素的集合。
返回值
如果此列表因调用而发生更改,则返回 true。
抛出
UnsupportedOperationException − 如果此列表不支持 addAll 操作。
ClassCastException − 如果指定集合的元素的类阻止它添加到此列表中。
NullPointerException − 如果指定集合包含一个或多个空元素,而此列表不允许空元素,或者如果指定的集合为空。
IllegalArgumentException − 如果指定集合的元素的某些属性阻止它添加到此列表中。
使用带索引参数的 addAll() 方法
boolean addAll(int index, Collection<? extends E> c)
将指定集合中的所有元素插入到此列表中的指定位置(可选操作)。将当前位于该位置(如果有)的元素和任何后续元素向右移动(增加其索引)。这些新元素将按照指定集合的迭代器返回的顺序出现在此列表中。如果在操作进行过程中修改了指定的集合,则此操作的行为未定义。(请注意,如果指定的集合是此列表,并且它非空,则会发生这种情况)。
参数
index − 从指定集合中插入第一个元素的索引。
c − 包含要添加到此列表中的元素的集合。
返回值
如果此列表因调用而发生更改,则返回 true。
抛出
UnsupportedOperationException − 如果此列表不支持 addAll 操作。
ClassCastException − 如果指定集合的元素的类阻止它添加到此列表中。
NullPointerException − 如果指定集合包含一个或多个空元素,而此列表不允许空元素,或者如果指定的集合为空。
IllegalArgumentException − 如果指定集合的元素的某些属性阻止它添加到此列表中。
IndexOutOfBoundsException − 如果索引超出范围 (index < 0 || index > 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]