面试题答案
一键面试- 功能区别:
add(E e)
:- 功能:用于向集合中添加单个元素。如果集合成功添加了该元素,则返回
true
;如果集合因为某些限制(例如集合不允许重复元素且该元素已存在)未能添加元素,则返回false
。
- 功能:用于向集合中添加单个元素。如果集合成功添加了该元素,则返回
addAll(Collection<? extends E> c)
:- 功能:用于将指定集合中的所有元素添加到当前集合中。如果当前集合因为调用这个方法发生了改变(即成功添加了至少一个元素),则返回
true
;否则返回false
。
- 功能:用于将指定集合中的所有元素添加到当前集合中。如果当前集合因为调用这个方法发生了改变(即成功添加了至少一个元素),则返回
- 使用场景区别:
add(E e)
:- 场景:当需要逐个添加元素到集合中时使用。例如,在遍历一个数组并将数组元素逐个添加到集合的场景下比较适用。
addAll(Collection<? extends E> c)
:- 场景:当需要批量添加元素,即一次性将另一个集合的所有元素添加到当前集合时使用。比如,将一个临时集合中的所有数据添加到主集合中。
- 示例代码:
import java.util.ArrayList;
import java.util.Collection;
public class CollectionAddExample {
public static void main(String[] args) {
Collection<String> collection1 = new ArrayList<>();
Collection<String> collection2 = new ArrayList<>();
// 使用add方法添加单个元素
boolean result1 = collection1.add("element1");
System.out.println("add单个元素返回结果: " + result1);
// 使用addAll方法添加另一个集合的所有元素
collection2.add("element2");
collection2.add("element3");
boolean result2 = collection1.addAll(collection2);
System.out.println("addAll批量添加元素返回结果: " + result1);
System.out.println("collection1: " + collection1);
}
}
在上述代码中,首先使用add
方法向collection1
添加单个元素,然后使用addAll
方法将collection2
中的所有元素添加到collection1
中。通过观察返回结果和最终collection1
的内容,可以更直观地理解这两个方法的区别。