List、Set中都有方法
addAll(Collection c) :
对于set来说,是将c中所有元素添加到一个Set中,如果Set中已有某一元素,则不添加,因Set不允许有重复值
对于List来说,是将c中元素append到一个List中,可重复添加,允许有重复值
retainAll(Collection c)
两个集合求交集,只保留交集数据
package test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
public class test1 {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("第一个元素"); //向列表中添加数据
list.add("第二个元素"); //向列表中添加数据
list.add("第三个元素"); //向列表中添加数据
List<String> list1 = new ArrayList<String>();
list1.add("第一个元素"); //向列表中添加数据
list1.add("第三个元素"); //向列表中添加数据
System.out.println("--------测试retainAll的使用------------:");
boolean ret = list1.retainAll(list); //获得两集合相交的元素
Iterator<String> it = list1.iterator(); //创建迭代器
while (it.hasNext()) { //循环遍历迭代器
System.out.println(it.next()); //输出集合中元素
}
/*结果:
第一个元素
第三个元素
*/
System.out.println("--------测试list addAll的结果-------------:");
String[] ss = {"s1","s2","1"};
List<String> str = Arrays.asList(ss);
List<String> stList = new ArrayList<String>();
stList.add("1");
stList.add("2");
stList.add("3");
stList.addAll(str);
System.out.println(stList);
//结果:[1, 2, 3, s1, s2, 1] 因List中允许重复值
System.out.println("--------测试set addAll的使用-------------:");
Set<String> s = new HashSet<String>();
s.add("1");
//s.add(1);
s.add("2");
s.add("3");
s.addAll(str);
System.out.println(s);
//结果:[1, 2, 3, s1, s2] 因为set中不允许有重复值
}
}