addAll()所有用法
时间: 2024-10-14 17:04:51 浏览: 27
`addAll()` 是Java集合框架中常用的成员函数,它主要用于将另一个集合的所有元素追加到当前集合的末尾。这是一个通用方法,适用于各种实现了 `List`, `Set`, 和 `Queue` 接口的类,如 ArrayList、LinkedList、HashSet、LinkedHashSet 等。
**通用形式**:
```java
<T> void addAll(@NonNull Collection<? extends T> c)
```
这里,`T` 表示泛型类型,`c` 是一个实现了 `Collection` 接口的对象,可以是列表、集合并队列的任何子类。
**用法举例**:
```java
ArrayList<String> list1 = new ArrayList<>();
list1.add("A");
list1.addAll(Arrays.asList("B", "C")); // 将"B", "C"追加到list1
Set<Integer> set1 = new HashSet<>();
set1.addAll(new HashSet<>(Arrays.asList(1, 2, 3))); // 合并两个集合
```
对于 `LinkedList` 和 `ArrayList` 这样的线性结构,`addAll()` 通常比多次调用 `add()` 更高效,因为它一次操作就完成了所有添加。
**需要注意的点**:
- `addAll()` 对于空集合或者空引用是安全的,不会抛出异常。
- 如果 `c` 中的元素已经存在于目标集合中,`addAll()` 会影响集合的唯一性规则(如 HashSet)。
- `addAll()` 不保证元素的顺序,如果需要保持顺序,应使用 `LinkedList`。
阅读全文