java list的交集,差集,並集


需求 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]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM