List取交集並集差集containsAll

並集

list1.addAll(list2);

交集

list1.retainAll(list2);

差集

注意

若是用list1Copy = list1 在list1做交集後,list1Copy的值也會變化,只用= 是跟list1指向同一個值

list1.removeAll(list2);

在這裏插入圖片描述


import java.util.ArrayList;
import java.util.List;

public class t {
    public static void main(String[] args) {
        List list1 = new ArrayList<>();
        list1.add(1);
        list1.add(2);
        list1.add(3);
        List list2 = new ArrayList<>();
        list2.add(1);
        list2.add(4);
        List list1Copy = new ArrayList<>();
        list1Copy.addAll(list1); // 注意 若是用list1Copy = list1 在list1做交集後,list1Copy的值也會變化,只用= 是跟list1指向同一個值

//        交集
        list1.retainAll(list2);
        System.out.println(list1); //[1] 所以交集是list
        System.out.println(list2);// [1, 4]

        if(list1 != null){
            System.out.println("有交集");
        }


        

        if(list1Copy.containsAll(list1)){
            System.out.println(222);
        }


    }
}

在這裏插入圖片描述


import java.util.ArrayList;
import java.util.List;

public class t {
    public static void main(String[] args) {
        List list1 = new ArrayList<>();
        list1.add(1);
        list1.add(2);
        list1.add(3);
        List list2 = new ArrayList<>();
        list2.add(1);
        list2.add(2);

        List list3 = new ArrayList<>();
        list3.add(1);
        list3.add(4);

        if(list1.containsAll(list2)){
            System.out.println("list1包含全部的list2");
        }

        if(!list1.containsAll(list3)){
            System.out.println("list1沒有包含全部的list3");
        }


    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章