如果成功插入元素,返回 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 Java ArrayList