Java中取两个集合的并集、交集和差集
程序员文章站
2022-05-07 10:25:45
...
1.并集
也叫合集,即把两个集合的所有元素加在一起。
运行结果
并集:[A, B, C, B]
2.交集
计算两个集合的共有元素,即你有我也有。
运行结果
交集:[B]
3.差集
由所有属于A但是不属于B的元素组成的集合,叫做A与B的差集,即我有而你没有的元素。
运行结果
差集:[A]
4.无重复元素的并集
A和B的元素合并,若B中的元素在A中存在,那么该元素就不添加到A中
运行结果
无重复并集:[A, B, B, C]
也叫合集,即把两个集合的所有元素加在一起。
public static void main(String[] args) { List<String> list1 = new ArrayList<String>(); list1.add("A"); list1.add("B"); List<String> list2 = new ArrayList<String>(); list2.add("C"); list2.add("B"); // 2个集合的并集 list1.addAll(list2); System.out.println("并集:" + list1); }
运行结果
并集:[A, B, C, B]
2.交集
计算两个集合的共有元素,即你有我也有。
public static void main(String[] args) { List<String> list1 = new ArrayList<String>(); list1.add("A"); list1.add("B"); List<String> list2 = new ArrayList<String>(); list2.add("C"); list2.add("B"); // 2个集合的并集 list1.retainAll(list2); System.out.println("交集:" + list1); }
运行结果
交集:[B]
3.差集
由所有属于A但是不属于B的元素组成的集合,叫做A与B的差集,即我有而你没有的元素。
public static void main(String[] args) { List<String> list1 = new ArrayList<String>(); list1.add("A"); list1.add("B"); List<String> list2 = new ArrayList<String>(); list2.add("C"); list2.add("B"); // 2个集合的并集 list1.removeAll(list2); System.out.println("差集:" + list1); }
运行结果
差集:[A]
4.无重复元素的并集
A和B的元素合并,若B中的元素在A中存在,那么该元素就不添加到A中
public static void main(String[] args) throws IOException { List<String> list1 = new ArrayList<String>(); list1.add("A"); list1.add("B"); list1.add("B"); List<String> list2 = new ArrayList<String>(); list2.add("C"); list2.add("B"); // 删除在list1中出现的元素 list2.removeAll(list1); // 剩余list2的所有元素添加到list1中 list1.addAll(list2); System.out.println("无重复并集:" + list1); }
运行结果
无重复并集:[A, B, B, C]
下一篇: JS性能优化技巧实例分享