一行代码快速取两个集合的交集,并集,差集

曾经终败给现在 2023-09-27 13:11 69阅读 0赞

两个List集合取交集、并集、差集的一个简单案例,可供参考:

首先准备两个集合

  1. List<String> s1=new ArrayList<>();
  2. s1.add("张三");
  3. s1.add("李四");
  4. s1.add("王五");
  5. s1.add("赵六");
  6. List<String> s2=new ArrayList<>();
  7. s2.add("小红");
  8. s2.add("小黄");
  9. s2.add("小蓝");
  10. s2.add("王五");

我们借助 org.apache.commons.collections4 下的一个ListUtils工具类来实现

  1. public static void main(String[] args) {
  2. List<String> s1=new ArrayList<>();
  3. s1.add("张三");
  4. s1.add("李四");
  5. s1.add("王五");
  6. s1.add("赵六");
  7. List<String> s2=new ArrayList<>();
  8. s2.add("小红");
  9. s2.add("小黄");
  10. s2.add("小蓝");
  11. s2.add("王五");
  12. List<String> intersection = ListUtils.intersection(s1, s2);
  13. System.out.println("两个集合的交集为:" + intersection);
  14. List<String> subtract = ListUtils.subtract(s1, s2);
  15. System.out.println("两个集合的差集为:" + subtract);
  16. List<String> union = ListUtils.union(s1, s2);
  17. System.out.println("两个集合不去重的并集为:" + union);
  18. List<String> sum = ListUtils.sum(s1, s2);
  19. System.out.println("两个集合去重的并集为:" + sum);
  20. }

输出的结果为:

两个集合的交集为:[王五]
两个集合的差集为:[张三, 李四, 赵六]
两个集合不去重的并集为:[张三, 李四, 王五, 赵六, 小红, 小黄, 小蓝, 王五]
两个集合去重的并集为:[张三, 李四, 赵六, 小红, 小黄, 小蓝, 王五]

发表评论

表情:
评论列表 (有 0 条评论,69人围观)

还没有评论,来说两句吧...

相关阅读