Java——集合带All的功能演示

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]即所有的交集元素
    }
}

猜你喜欢

转载自blog.csdn.net/qq_41264055/article/details/81287814
今日推荐