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 listA_01 = new ArrayList(){{
    add("A");
    add("B");
}};
List listB_01 = new ArrayList(){{
    add("B");
    add("C");
}};
listA_01.retainAll(listB_01);
System.out.println(listA_01); // 结果:[B]
System.out.println(listB_01); // 结果:[B, C]
// 差集
List listA_02 = new ArrayList(){{
    add("A");
    add("B");
}};
List listB_02 = new ArrayList(){{
    add("B");
    add("C");
}};
listA_02.removeAll(listB_02);
System.out.println(listA_02); // 结果:[A]
System.out.println(listB_02); // 结果:[B, C]
// 并集
List listA_03 = new ArrayList(){{
    add("A");
    add("B");
}};
List listB_03 = new ArrayList(){{
    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]
            
原地址链接: