List的交集、去重複並集、差集 Java

需求 list的方法 說明 備註
交集 listA.retainAll(listB) listA內容變爲listA和listB都存在的對象 listB不變
差集 listA.removeAll(listB) listA中存在的listB的內容去重 listB不變
去重複並集 listA.removeAll(listB)
listA.addAll(listB)
爲了去重,listA先取差集,然後追加全部的listB listB不變

 

 

 

 

// 交集
List<String> listA_01 = new ArrayList<String>(){{
    add("A");
    add("B");
}};
List<String> listB_01 = new ArrayList<String>(){{
    add("B");
    add("C");
}};
listA_01.retainAll(listB_01);
System.out.println(listA_01); // 結果:[B]
System.out.println(listB_01); // 結果:[B, C]

// 差集
List<String> listA_02 = new ArrayList<String>(){{
    add("A");
    add("B");
}};
List<String> listB_02 = new ArrayList<String>(){{
    add("B");
    add("C");
}};
listA_02.removeAll(listB_02);
System.out.println(listA_02); // 結果:[A]
System.out.println(listB_02); // 結果:[B, C]

// 並集
List<String> listA_03 = new ArrayList<String>(){{
    add("A");
    add("B");
}};
List<String> listB_03 = new ArrayList<String>(){{
    add("B");
    add("C");
}};
listA_03.removeAll(listB_03);
listA_03.addAll(listB_03);
System.out.println(listA_03); // 結果:[A, B, C]
System.out.println(listB_03); // 結果:[B, C]

 

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