java中集合求并集、差集以及交集方法你知道多少?

java中集合求并集、差集以及交集方法你知道多少?服务端开发中 经常做的处理就是数据组装 而数据组装中集合处理算是 出镜率 最高的 今天就来简单聊一下集合中求并集 差集以及交集方法 实际开发中常用处理方式就是集合自带的 api 与 jdk8 中 stream 流 下面以案例的形式简

欢迎大家来到IT世界,在知识的湖畔探索吧!

服务端开发中,经常做的处理就是数据组装,而数据组装中集合处理算是”出镜率”最高的,今天就来简单聊一下集合中求并集、差集以及交集方法。

实际开发中常用处理方式就是集合自带的api与jdk8中stream流.下面以案例的形式简单说下使用以及区别.

public static void main(String[] args) { ArrayList 
  
    integers = new ArrayList<>(); integers.add(1); integers.add(2); integers.add(3); ArrayList 
   
     integers1 = new ArrayList<>(); integers1.add(1); integers1.add(2); // 取交集 method1(integers, integers1); // 取差集 method2(integers, integers1); // 取并集 method3(integers, integers1); } 
    
  

欢迎大家来到IT世界,在知识的湖畔探索吧!

  • 求交集
欢迎大家来到IT世界,在知识的湖畔探索吧!private static void method1(ArrayList 
   
     integers, ArrayList 
    
      integers1) { // retainAll方法求交集 integers.retainAll(integers1); // 1,2 System.out.println(integers); // 1,2 System.out.println(integers1); // 1,2 // stream方式求交集 List 
     
       collect = integers.stream().filter(s -> integers1.contains(s)).collect(Collectors.toList()); System.out.println(collect); // 1,2 } 
      
     
   
  • 求差集
private static void method2(ArrayList 
   
     integers, ArrayList 
    
      integers1) { // removeAll方法求差集 integers.removeAll(integers1); System.out.println(integers); // 3 System.out.println(integers1); // 1 2 // stream方式求差集 List 
     
       collect = integers.stream().filter(s -> !integers1.contains(s)).collect(Collectors.toList()); System.out.println(collect); // 3 } 
      
     
   
  • 求并集
欢迎大家来到IT世界,在知识的湖畔探索吧!private static void method3(ArrayList 
   
     integers, ArrayList 
    
      integers1) { integers.addAll(integers1); System.out.println(integers); // 1 2 3 1 2 System.out.println(integers1); // 1 2 integers1.addAll(integers); System.out.println(integers1); // 1 2 3 1 2 System.out.println(integers); // 1 2 } 
     
   

好下面总结一下区别:retainAll或是removeAll的方式会将求交(差)集之后的元素都赋值给集合,也就是说原集合元素是被破坏的,并且需要注意两个集合之前的调用顺序,如果调用位置不同返回的结果也是不一样的;jdk8的stream流求交集的方式就能保证原集合的数据完整性!

—— END ——

作者| 卖柴火的小男孩啊

多年后端开发经验,坚持分享更多java干货内容!

如果你喜欢我的文章,不妨点赞、转发、收藏一下哦!


免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/78446.html

赞 (0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信