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);
}
}
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);
}
}
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);
}
}
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 方法 相关内容
猜你喜欢:暂无回复。