Java ArrayList addAll () 集合添加方法使用教程


发布日期 : 2019-05-08 19:26:06 UTC

访问量: 9 次浏览

Java ArrayListaddAll() 方法及应用

下面是 Java 中 ArrayListaddAll() 方法。

boolean addAll(Collection c)

该方法将指定集合中的所有元素追加到这个列表的末尾,其顺序是指定集合的迭代器返回的。如果指定的集合在操作过程中被修改,这个操作的行为是未定义的(意味着如果指定的集合是这个列表,并且这个列表不是空的,这个调用的行为是未定义的)。

参数:

  • c:这是一个包含元素的集合,将被添加到这个列表中。

异常:

  • NullPointerException:如果指定的集合为空。
// Java program to illustrate
// boolean addAll(Collection c)
import java.io.*;
import java.util.ArrayList;

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

        // create an empty array list1 with initial
        // capacity as 5
        ArrayList<Integer> arrlist1 =
                           new ArrayList<Integer>(5);

        // use add() method to add elements in the list
        arrlist1.add(12);
        arrlist1.add(20);
        arrlist1.add(45);

        // prints all the elements available in list1
        System.out.println("Printing list1:");
        for (Integer number : arrlist1)
            System.out.println("Number = " + number);

        // create an empty array list2 with an initial
        // capacity
        ArrayList<Integer> arrlist2 =
                             new ArrayList<Integer>(5);

        // use add() method to add elements in list2
        arrlist2.add(25);
        arrlist2.add(30);
        arrlist2.add(31);
        arrlist2.add(35);

        // let us print all the elements available in
        // list2
        System.out.println("Printing list2:");
        for (Integer number : arrlist2)
            System.out.println("Number = " + number);

        // inserting all elements, list2 will get printed
        // after list1
        arrlist1.addAll(arrlist2);

        System.out.println("Printing all the elements");
        // let us print all the elements available in
        // list1
        for (Integer number : arrlist1)
            System.out.println("Number = " + number);
    }
}

输出:

Printing list1:
Number = 12
Number = 20
Number = 45
Printing list2:
Number = 25
Number = 30
Number = 31
Number = 35
Printing all the elements
Number = 12
Number = 20
Number = 45
Number = 25
Number = 30
Number = 31
Number = 35

boolean addAll(int index, Collection c)

该方法将指定集合中的所有元素插入这个列表,从指定的位置开始。它将当前位于该位置的元素(如果有的话)和任何后续元素向右移动(增加它们的索引)。新的元素将按照指定集合的迭代器所返回的顺序出现在列表中。

参数:

  • index:从指定集合中插入第一个元素的索引。
  • c:这是一个包含元素的集合,将被添加到这个列表中。

异常:

  • IndexOutOfBoundsException:如果索引超出了范围。
  • NullPointerException:如果指定的集合为空。
// Java program to illustrate
// boolean addAll(int index, Collection c)
import java.io.*;
import java.util.ArrayList;

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

        // create an empty array list1 with initial
        // capacity 5
        ArrayList<Integer> arrlist =
                        new ArrayList<Integer>(5);

        // using add() method to add elements in the
        // list
        arrlist.add(12);
        arrlist.add(20);
        arrlist.add(45);

        // prints all the elements available in list1
        System.out.println("Printing list1:");
        for (Integer number : arrlist)
            System.out.println("Number = " + number);

        // create an empty array list2 with an initial
        // capacity
        ArrayList<Integer> arrlist2 =
                            new ArrayList<Integer>(5);

        // use add() method to add elements in list2
        arrlist2.add(25);
        arrlist2.add(30);
        arrlist2.add(31);
        arrlist2.add(35);

        // prints all the elements available in list2
        System.out.println("Printing list2:");
        for (Integer number : arrlist2)
            System.out.println("Number = " + number);

        // inserting all elements of list2 at third
        // position
        arrlist.addAll(2, arrlist2);

        System.out.println("Printing all the elements");

        // prints all the elements available in list1
        for (Integer number : arrlist)
            System.out.println("Number = " + number);
    }
}

输出:

Printing list1:
Number = 12
Number = 20
Number = 45
Printing list2:
Number = 25
Number = 30
Number = 31
Number = 35
Printing all the elements
Number = 12
Number = 20
Number = 25
Number = 30
Number = 31
Number = 35
Number = 45