Java LinkedList addAll() 方法
addAll() 方法是 Java 中 LinkedList 类提供的一个常用方法,用于将一个集合中的所有元素添加到另一个集合中。这个方法在处理批量数据操作时非常有用。
方法语法
LinkedList 类提供了两种 addAll() 方法的重载形式:
1、在列表末尾添加元素
boolean addAll(Collection<? extends E> c)
2、在指定位置插入元素
boolean addAll(int index, Collection<? extends E> c)
参数说明
第一种形式参数
c:要添加的集合元素,其中元素类型必须与 LinkedList 的元素类型兼容
第二种形式参数
index:插入位置的索引(从 0 开始)c:要添加的集合元素
返回值
两种方法都返回 boolean 值:
true:如果 LinkedList 因调用而改变false:如果传入的集合为空或没有元素被添加
使用示例
基本使用示例
实例
import java.util.LinkedList;
import java.util.ArrayList;
public class AddAllExample {
public static void main(String[] args) {
// 创建两个集合
LinkedList<String> linkedList = new LinkedList<>();
ArrayList<String> arrayList = new ArrayList<>();
// 向 ArrayList 添加元素
arrayList.add("Apple");
arrayList.add("Banana");
arrayList.add("Orange");
// 使用 addAll() 方法将 ArrayList 元素添加到 LinkedList
linkedList.addAll(arrayList);
System.out.println("LinkedList 内容: " + linkedList);
}
}
import java.util.ArrayList;
public class AddAllExample {
public static void main(String[] args) {
// 创建两个集合
LinkedList<String> linkedList = new LinkedList<>();
ArrayList<String> arrayList = new ArrayList<>();
// 向 ArrayList 添加元素
arrayList.add("Apple");
arrayList.add("Banana");
arrayList.add("Orange");
// 使用 addAll() 方法将 ArrayList 元素添加到 LinkedList
linkedList.addAll(arrayList);
System.out.println("LinkedList 内容: " + linkedList);
}
}
输出结果:
LinkedList 内容: [Apple, Banana, Orange]
在指定位置插入元素
实例
import java.util.LinkedList;
import java.util.Arrays;
public class AddAllAtIndexExample {
public static void main(String[] args) {
LinkedList<String> fruits = new LinkedList<>(Arrays.asList("Apple", "Orange"));
LinkedList<String> moreFruits = new LinkedList<>(Arrays.asList("Banana", "Grape"));
// 在索引 1 处插入元素
fruits.addAll(1, moreFruits);
System.out.println("修改后的 LinkedList: " + fruits);
}
}
import java.util.Arrays;
public class AddAllAtIndexExample {
public static void main(String[] args) {
LinkedList<String> fruits = new LinkedList<>(Arrays.asList("Apple", "Orange"));
LinkedList<String> moreFruits = new LinkedList<>(Arrays.asList("Banana", "Grape"));
// 在索引 1 处插入元素
fruits.addAll(1, moreFruits);
System.out.println("修改后的 LinkedList: " + fruits);
}
}
输出结果:
修改后的 LinkedList: [Apple, Banana, Grape, Orange]
注意事项
- 空集合处理:如果传入的集合为空(null),会抛出
NullPointerException - 索引越界:如果指定的索引超出范围(index < 0 || index > size()),会抛出
IndexOutOfBoundsException - 性能考虑:在 LinkedList 中间插入大量元素可能比 ArrayList 更高效
- 元素顺序:新添加的元素会保持它们在原集合中的顺序
实际应用场景
addAll() 方法在以下场景中特别有用:
- 合并多个集合的数据
- 批量初始化 LinkedList 内容
- 在特定位置插入一组元素
- 实现集合的复制或克隆功能
与 ArrayList 的 addAll() 比较
| 特性 | LinkedList addAll() | ArrayList addAll() |
|---|---|---|
| 在末尾添加性能 | O(1) | O(1) 摊销时间 |
| 在中间插入性能 | O(n) | O(n) |
| 内存使用 | 更高(每个元素有额外指针) | 更低 |
Java LinkedList
点我分享笔记