java8两个List集合取交集、并集、差集、去重并集

java8两个List集合取交集、并集、差集、去重并集、、、importjava.util.ArrayList;importjava.util.List;importstaticjava.util.stream.Collectors.toList;publicclassTest{publicstaticvoidmain(String[]args){List<String>list1=new…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

、、、 import java.util.ArrayList; import java.util.List; import static java.util.stream.Collectors.toList;

public class Test {

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");

    List<String> list2 = new ArrayList<String>();
    list2.add("2");
	list2.add("3");
	list2.add("7");
	list2.add("8");

    // 交集
    List<String> intersection = list1.stream().filter(item -> list2.contains(item)).collect(toList());
    System.out.println("---交集 intersection---");
    intersection.parallelStream().forEach(System.out :: println);

    // 差集 (list1 - list2)
    List<String> reduce1 = list1.stream().filter(item -> !list2.contains(item)).collect(toList());
    System.out.println("---差集 reduce1 (list1 - list2)---");
    reduce1.parallelStream().forEach(System.out :: println);

    // 差集 (list2 - list1)
    List<String> reduce2 = list2.stream().filter(item -> !list1.contains(item)).collect(toList());
    System.out.println("---差集 reduce2 (list2 - list1)---");
    reduce2.parallelStream().forEach(System.out :: println);

    // 并集
    List<String> listAll = list1.parallelStream().collect(toList());
    List<String> listAll2 = list2.parallelStream().collect(toList());
    listAll.addAll(listAll2);
    System.out.println("---并集 listAll---");
    listAll.parallelStream().forEachOrdered(System.out :: println);

    // 去重并集
    List<String> listAllDistinct = listAll.stream().distinct().collect(toList());
    System.out.println("---得到去重并集 listAllDistinct---");
    listAllDistinct.parallelStream().forEachOrdered(System.out :: println);

    System.out.println("---原来的List1---");
    list1.parallelStream().forEachOrdered(System.out :: println);
    System.out.println("---原来的List2---");
    list2.parallelStream().forEachOrdered(System.out :: println);

}
复制代码

} 、、、

转载于:https://juejin.im/post/5cc8022c5188257feb01ce62

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188521.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • opencv中cvCircle的使用方法「建议收藏」

    opencv中cvCircle的使用方法「建议收藏」Circle,中文含义指:即圆形。cvCircle是指绘制圆形的一个程序函数。定义voidcvCircle(CvArr*img,CvPointcenter,intradius,CvScalarcolor,intthickness=1,intline_type=8,intshift=0);参数im

    2022年7月24日
    15
  • SpringMVC工作流程及其原理

    SpringMVC工作流程及其原理1、序言一、什么是SpringMVC?pring 配备构建Web 应用的全功能MVC框架。Spring可以很便捷地和其他MVC框架集成,如Struts,Spring 的MVC框架用控制反转把业务对象和控制逻辑清晰地隔离。它也允许以声明的方式把请求参数和业务对象绑定。springmvc是一个基于mvc的web框架。springmvc是spring框架的一个模块,springmvc和s…

    2022年6月7日
    26
  • activiti工作流框架_springboot工作流框架

    activiti工作流框架_springboot工作流框架工作流Activiti是一个项目的名称,Alfresco软件在2010年5月17日宣布Activiti业务流程管理(BPM)开源项目的正式启动,其首席架构师由业务流程管理BPM的专家TomBaeyens担任。Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,…

    2022年9月1日
    3
  • css设置超链接样式和css设置列表样式

    css设置超链接样式和css设置列表样式<styletype=”text/css”>a:LINK{color:red;text-decoration:none;}a:VISITED{color:green;text-decoration:none;}a:HOVE…

    2022年7月19日
    16
  • pycharm怎么配置中文_怎么将pycharm变成中文

    pycharm怎么配置中文_怎么将pycharm变成中文需要中文包的可以加入我们的Python交流群:7848.6745找管理员获取~1.Python执行程序形式pythonscript.pypython-c“print()”python-i执行后进入交互式2.虚拟环境配置:介绍python需要创建虚拟环境的原因3.4之前版本用virtualenv工具,3.4及以后版本可以用venv模块virtualenvmyenv…

    2022年8月25日
    9
  • Harbor镜像仓库远程同步

    Harbor镜像仓库远程同步

    2021年5月31日
    180

发表回复

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

关注全栈程序员社区公众号