Java LinkedList addAll() 方法

Java LinkedList Java LinkedList


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);
    }
}

输出结果:

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);
    }
}

输出结果:

修改后的 LinkedList: [Apple, Banana, Grape, Orange]

注意事项

  1. 空集合处理:如果传入的集合为空(null),会抛出 NullPointerException
  2. 索引越界:如果指定的索引超出范围(index < 0 || index > size()),会抛出 IndexOutOfBoundsException
  3. 性能考虑:在 LinkedList 中间插入大量元素可能比 ArrayList 更高效
  4. 元素顺序:新添加的元素会保持它们在原集合中的顺序

实际应用场景

addAll() 方法在以下场景中特别有用:

  1. 合并多个集合的数据
  2. 批量初始化 LinkedList 内容
  3. 在特定位置插入一组元素
  4. 实现集合的复制或克隆功能

与 ArrayList 的 addAll() 比较

特性 LinkedList addAll() ArrayList addAll()
在末尾添加性能 O(1) O(1) 摊销时间
在中间插入性能 O(n) O(n)
内存使用 更高(每个元素有额外指针) 更低

Java LinkedList Java LinkedList