java8 集合的交集、并集、差集

匿名 (未验证) 提交于 2019-12-02 21:38:03
版权声明:欢迎关注公众号:java4all,作者微信:w1186355422,欢迎探讨交流! https://blog.csdn.net/weixin_39800144/article/details/90437801

java8中求集合的交集、并集、差集

    public static void main(String[]args){         List<String> list1 = new ArrayList<String>();         list1.add("1");         list1.add("2");         list1.add("3");         list1.add("5");         list1.add("6");         list1.add("7");         list1.add("8");          List<String> list2 = new ArrayList<String>();         list2.add("2");         list2.add("7");         list2.add("10");          //交集         List<String> collect1 = list1.stream().filter(num -> list2.contains(num))                 .collect(Collectors.toList());         System.out.println("交集");         collect1.stream().forEach(System.out::println);          //差集 list1-list2         List<String> collect2 = list1.stream().filter(num -> !list2.contains(num))                 .collect(Collectors.toList());         System.out.println("差集list1-list2");         collect2.stream().forEach(System.out::println);          //差集list2-list1         List<String> collect3 = list2.stream().filter(num -> !list1.contains(num))                 .collect(Collectors.toList());         System.out.println("差集list2-list1");         collect3.stream().forEach(System.out::println);          //并集  不去重         list1.addAll(list2);         System.out.println("并集  不去重");         list1.stream().forEach(System.out::println);          //并集  去重         List<String> collect4 = list1.stream().distinct().collect(Collectors.toList());         System.out.println("并集  去重");         collect4.stream().forEach(System.out::println);     } 

结果

交集 2 7 差集list1-list2 1 3 5 6 8 差集list2-list1 10 并集  不去重 1 2 3 5 6 7 8 2 7 10 并集  去重 1 2 3 5 6 7 8 10 
文章来源: https://blog.csdn.net/weixin_39800144/article/details/90437801
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!