Java中List求并集、交集、差集、无重复并集

it2022-05-09  57

在实际的开发过程中,某些特定场合,可能会遇到处理list求并集、交集、差集、无重复并集的问题。最近团队有人反馈这个问题,特此总结如下:

package com.demo; import java.util.ArrayList; import java.util.List; public class ListTest { public static void main(String[] args) { List<String> list1 = new ArrayList<>(); list1.add("11111111111"); list1.add("22222222222"); List<String> list2 = new ArrayList<>(); list2.add("22222222222"); list2.add("33333333333"); list2.add("44444444444"); list2.addAll(list1); //并集 //list2.removeAll(list1); //差集 //list2.retainAll(list1); //交集 //无重复并集(即先求差集,再做并集) // list2.removeAll(list1); // list1.addAll(list2); System.out.println("--------------------------------------"); System.out.println(list2.size()); System.out.println(list2.toString()); System.out.println("--------------------------------------"); } }

注意如下求交集的形式:

list2.retainAll(list1)

这里list2的结果会变为list1和list2的交集,而list1是不改变的。

猿人谷 认证博客专家 博客专家 【欢迎关注微信公众号:猿人谷】技术成长没有捷径,唯有积累。没有啥大佬,代码写多了,坑踩多了,想多了,写代码自然就顺手了。

最新回复(0)