一行代码快速取两个集合的交集,并集,差集
两个List集合取交集、并集、差集的一个简单案例,可供参考:
首先准备两个集合
List<String> s1=new ArrayList<>();
s1.add("张三");
s1.add("李四");
s1.add("王五");
s1.add("赵六");
List<String> s2=new ArrayList<>();
s2.add("小红");
s2.add("小黄");
s2.add("小蓝");
s2.add("王五");
我们借助 org.apache.commons.collections4 下的一个ListUtils工具类来实现
public static void main(String[] args) {
List<String> s1=new ArrayList<>();
s1.add("张三");
s1.add("李四");
s1.add("王五");
s1.add("赵六");
List<String> s2=new ArrayList<>();
s2.add("小红");
s2.add("小黄");
s2.add("小蓝");
s2.add("王五");
List<String> intersection = ListUtils.intersection(s1, s2);
System.out.println("两个集合的交集为:" + intersection);
List<String> subtract = ListUtils.subtract(s1, s2);
System.out.println("两个集合的差集为:" + subtract);
List<String> union = ListUtils.union(s1, s2);
System.out.println("两个集合不去重的并集为:" + union);
List<String> sum = ListUtils.sum(s1, s2);
System.out.println("两个集合去重的并集为:" + sum);
}
输出的结果为:
两个集合的交集为:[王五]
两个集合的差集为:[张三, 李四, 赵六]
两个集合不去重的并集为:[张三, 李四, 王五, 赵六, 小红, 小黄, 小蓝, 王五]
两个集合去重的并集为:[张三, 李四, 赵六, 小红, 小黄, 小蓝, 王五]
还没有评论,来说两句吧...