package com.wsq.collection;
import java.util.ArrayList;
import java.util.Collection;
public class Demo4_CollectionAll {
public static void main(String[] args) {
demo1(); //c1.addAll(c2);将c2整个集合给添加到c1中,即,c2集合中的每一个元素给添加到c1这个集合里
demo2(); //c1.removeAll(c2),删除c1和c2两个集合里面的交集元素
demo3(); //c1.containsAll(c2),判断调用的集合是否包含传入的集合,若c1里面包含c2返回true,否则返回false
demo4(); //c1.retainAll(c2),取c2和c1两个集合里面的交集元素
}
public static void demo1(){ //c1.addAll(c2);将c2整个集合给添加到c1中,即,c2集合中的每一个元素给添加到c1这个集合里
Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");
Collection c2 = new ArrayList();
c2.add("a");
c2.add("b");
c2.add("c");
c2.add("d");
//c1.addAll(c2); 将c2整个集合给添加到c1中,即,c2集合中的每一个元素给添加到c1这个集合里
//输出结果:[a, b, c, d, a, b, c, d]
//c1.add(c2); 把c2整个集合当作一个对象添加到c1集合里面去
//输出结果:[a, b, c, d, [a, b, c, d]]
System.out.println(c1);//将c2看成一个对象添加到c1中
}
public static void demo2(){ //c1.removeAll(c2),删除c1和c2两个集合里面的交集元素
Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");
Collection c2 = new ArrayList();
c2.add("a");
c2.add("b");
c2.add("z");
boolean b = c1.removeAll(c2); //删除的是交集
//c1.removeAll(c2),删除c1和c2两个集合里面的交集元素
System.out.println(b); //如果有交集,删除掉交集,返回true,若没有交集,返回false
System.out.println(c1);
}
public static void demo3(){ //c1.containsAll(c2),判断调用的集合是否包含传入的集合,若c1里面包含c2返回true,否则返回false
Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");
Collection c2 = new ArrayList();
c2.add("a");
c2.add("b");
c2.add("z");
boolean b = c1.containsAll(c2); //判断调用的集合是否包含传入的集合
System.out.println(b); //若c1里面包含c2返回true,否则返回false,有重复的没事,只有c1里面有跟c2里面的所有的元素都一样的就行
}
private static void demo4() { //c1.retainAll(c2),取c2和c1两个集合里面的交集元素
Collection c1 = new ArrayList(); //创建第一个集合c1
c1.add("a"); //向c1集合添加元素
c1.add("b");
c1.add("c");
c1.add("d");
//eclipse快捷键Alt + shift + R 改名
Collection c2 = new ArrayList(); //创建第二个集合c2
c2.add("a"); //向c2集合添加元素
c2.add("b");
c2.add("z");
//取交集,如果调用的集合改变就返回true,如果调用的集合不变就返回false
//即:就看c1,c1集合变了就返回true,若c1集合没有发生改变就返回false
//例如,将c1和c2的交集元素a,b赋值给c1,c1集合元素改变,所以返回true
//若c2集合只有z一个元素的时候,交集为null,把null赋值给c1,c1集合的元素也发生了改变,所以也会返回true
//若调用的集合不变,即当c2中的元素跟c1中的元素一样的时候,也就是c1和c2的交集为c1,即c1集合的元素没有发生变化,就会返回false
boolean b = c1.retainAll(c2); //取交集
System.out.println(b); //因为有交集a,b,所有输出结果为true
System.out.println(c1); //输出结果为[a, b]即所有的交集元素
}
}
Java——集合带All的功能演示
猜你喜欢
转载自blog.csdn.net/qq_41264055/article/details/81287814
今日推荐
周排行