runoops.com

Java ArrayList addAll() 方法

Java ArrayList

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

addAll() 方法的语法为:

arraylist.addAll(int index, Collection c)

注:arraylist 是 ArrayList 类的一个对象。

参数说明:

  • index(可选参数)- 表示集合元素插入处的索引值
  • c - 要插入的集合元素

如果 index 没有传入实际参数,元素将追加至数组的最末尾。

返回值

如果成功插入元素,返回 true。

如果给定的集合为 null,则超出 NullPointerException 异常。

注意:如果 index 超出范围,则该方法抛出 IndexOutOfBoundsException 异常。

实例

使用 ArrayList addAll() 方法插入元素:

实例

import java.util.ArrayList;

class Main {
    public static void main(String[] args){
       
        // 创建一个动态数组
        ArrayList<Integer> primeNumbers = new ArrayList<>();
        // 往动态数组里添加元素
        primeNumbers.add(3);
        primeNumbers.add(5);
        System.out.println("Prime Numbers: " + primeNumbers);

        // 创建另外的一个动态数组
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(2);

        // 把 primeNumbers 的所有元素添加到 numbers 的动态数组中
        numbers.addAll(primeNumbers);
        System.out.println("Numbers: " + numbers);
    }
}

执行以上程序输出结果为:

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

在上面的示例中,我们创建了两个动态数组,分别为 primeNumbers 和 numbers。

请注意这一行:

numbers.addAll(primeNumbers);

这里的 addAll() 方法中并没有传入可选参数 index。因此,primeNumbers 中的所有元素都添加到 numbers 的末尾。

在指定位置插入元素:

实例

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

        // 创建另一个数组
        ArrayList<String> languages2 = new ArrayList<>();
        languages2.add("JavaScript");
        languages2.add("C");
        System.out.println("ArrayList 2: " + languages2);

        // 在索引值为1的位置将数组 languages1 的所有元素添加到 languages2
        languages2.addAll(1, languages1);
        System.out.println("更新 ArrayList 2: " + languages2);
    }
}

执行以上程序输出结果为:

ArrayList 1:[Java,Python]
ArrayList 2:[JavaScript,C]
更新 ArrayList 2:[JavaScript,Java,Python,C]

请注意这一行:

languages2.addAll(1, languages1);

这里的 addAll() 方法中传入了 index 这个可选参数。因此,数组 languages1 中所有元素都添加到数组 languages 索引值为 1 的位置中。

将集合 Set 中的元素插入到动态数组中:

实例

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

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

        // 创建一个String类型的hashset
        HashSet<String> set = new HashSet<>();

        // 往hashset中添加元素
        set.add("Java");
        set.add("Python");
        set.add("JavaScript");
        System.out.println("HashSet: " + set);

        // 创建一个数组
        ArrayList<String> list = new ArrayList<>();

        // 往数组中添加元素
        list.add("English");
        System.out.println("初始化 ArrayList: " + list);

        //  hashset中所有的元素添加至数组中
        list.addAll(set);
        System.out.println("更新 ArrayList: " + list);
    }
}

执行以上程序输出结果为:

Set: [Java, JavaScript, Python]
初始化 ArrayList: [English]
更新 ArrayList: [English, Java, JavaScript, Python]

以上实例中,我们创建了一个名为 set 的 hashset 类和一个名为 list 的动态数组,注意这一行:

list.addAll(set);

我们使用了 addAll() 方法将 hashset 中的所有元素添加到动态数组中。该方法没有传入可选参数 index。因此,所有元素都添加在动态数组的末尾。

Java ArrayList