Java ArrayList addAll()

addAll() 方法将一个集合的所有元素添加到arraylist中。

示例

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {

    // create an arraylist
    ArrayList<String> languages = new ArrayList<>();
    languages.add("Java");
    languages.add("Python");
    System.out.println("Languages: " + languages);

    // create another arraylist
    ArrayList<String> programmingLang = new ArrayList<>();

// add all elements from languages to programmingLang programmingLang.addAll(languages);
System.out.println("Programming Languages: " + programmingLang); } } // Output: Languages: [Java, Python] // Programming Languages: [Java, Python]

ArrayList addAll() 语法

addAll() 方法的语法是

arraylist.addAll(int index, Collection c)

在这里,arraylistArrayList 类的一个对象


addAll() 参数

ArrayList addAll() 方法可以接受两个参数

  • index (可选) - 插入集合中所有元素的位置索引
  • collection - 包含要插入的元素的集合

如果未传递 index 参数,则集合将附加到 arraylist 的末尾。


addAll() 返回值

  • 如果集合成功插入到 arraylist 中,则返回 true
  • 如果指定的集合为 null,则引发 NullPointerException
  • 如果 index 超出范围,则引发 IndexOutOfBoundsException

示例 1:使用 ArrayList addAll() 插入元素

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {

    // create an arraylist
    ArrayList<Integer> primeNumbers = new ArrayList<>();
    // add elements to arraylist
    primeNumbers.add(3);
    primeNumbers.add(5);
    System.out.println("Prime Numbers: " + primeNumbers);

    // create another arraylist
    ArrayList<Integer> numbers = new ArrayList<>();
    numbers.add(1);
    numbers.add(2);

// Add all elements from primeNumbers to numbers numbers.addAll(primeNumbers);
System.out.println("Numbers: " + numbers); } }

输出

Prime Numbers: [3, 5]
Numbers: [1, 2, 3, 5]

在上面的示例中,我们创建了两个名为 primeNumbersnumbers 的 arraylist。注意这一行,

numbers.addAll(primeNumbers);

在这里,addAll() 方法不包含可选的 index 参数。因此,arraylist primeNumbers 中的所有元素都添加到 arraylist numbers 的末尾。

注意:我们使用 add() 方法向 arraylist 添加单个元素。想了解更多,请访问 Java ArrayList add()


示例 2:在指定位置插入元素

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> languages1 = new ArrayList<>();
    languages1.add("Java");
    languages1.add("Python");
    System.out.println("ArrayList 1: " + languages1);

    // create another arraylist
    ArrayList<String> languages2 = new ArrayList<>();
    languages2.add("JavaScript");
    languages2.add("C");
    System.out.println("ArrayList 2: " + languages2);

// Add elements from languages1 to languages2 at index 1 languages2.addAll(1, languages1);
System.out.println("Updated ArrayList 2: " + languages2); } }

输出

ArrayList 1: [Java, Python]
ArrayList 2: [JavaScript, C]
Updated ArrayList 2: [JavaScript, Java, Python, C]

在上面的示例中,我们有两个名为 languages1languages2 的 arraylist。注意这一行,

languages2.addAll(1, languages1);

在这里,addAll() 包含可选的 index 参数。因此,arraylist languages1 的所有元素都添加到 languages 的索引 0 处。


示例 3:将 Set 中的元素插入到 ArrayList

import java.util.ArrayList;
import java.util.HashSet;

class Main {
  public static void main(String[] args) {

    // create a hashset of String type
    HashSet<String> set = new HashSet<>();

    // add elements to the hashset
    set.add("Java");
    set.add("Python");
    set.add("JavaScript");
    System.out.println("HashSet: " + set);

    // create an arraylist
    ArrayList<String> list = new ArrayList<>();

    // add element to arraylist
    list.add("English");
    System.out.println("Initial ArrayList: " + list);

// Add all elements from hashset to arraylist list.addAll(set);
System.out.println("Updated ArrayList: " + list); } }

输出

Set: [Java, JavaScript, Python]
Initial ArrayList: [English]
Updated ArrayList: [English, Java, JavaScript, Python]

在上面的示例中,我们创建了一个名为 set哈希集和一个名为 list 的 arraylist。注意这一行,

list.addAll(set);

在这里,我们使用 addAll() 方法将哈希集的所有元素添加到 arraylist 中。方法中不存在可选的 index 参数。因此,所有元素都添加到 arraylist 的末尾。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战