首页 > 其他分享 >两种list求差集的方法

两种list求差集的方法

时间:2023-04-14 09:11:06浏览次数:29  
标签:两种 stream list 求差 List commentUser UserInfo allUser

第一种:
两个UserInfo实体List,
一个全部用户集合List< UserInfo > allUser,
一个部分用户集合List< UserInfo > commentUser,
根据UserInfo中的UserID求差集,从allUser中得到剩下的一部分用户,
通过stream流和lamda表达式实现

  1. public List<UserInfo> getNotComment(List<UserInfo> allUser,List<UserInfo> commentUser){
        List<UserInfo> notCommentUser = allUser.stream()
                 .filter(notComment -> !commentUser.stream().map(all -> all.getUserId()).collect(Collectors.toList()).contains(notComment.getUserId()))
                 .collect(Collectors.toList());
        return notCommentUser;
    }

    两个String型List,

  2. public List<String> getNotComment(List<String> allUser,List<String> commentUser){
    	allUser.removeAll(commentUser);
    	return allUser;
    }
    

      

标签:两种,stream,list,求差,List,commentUser,UserInfo,allUser
From: https://www.cnblogs.com/johnny-ylp/p/17317238.html

相关文章

  • 13-ArrayList&学生管理系统
    1.ArrayList集合和数组的优势对比:长度可变(自动扩容)添加数据的时候不需要考虑索引,默认将数据添加到末尾1.1ArrayList类概述什么是集合提供一种存储空间可变的存储模型,存储的数据容量可以发生改变ArrayList集合的特点长度可以变化,只能存储引用数据类型。泛......
  • 1811E Living Sequence 两种解法
    思维进制转换数位DP无前导0T3Problem-1811E-Codeforces题目大意从一个不含有数字4的递增序列中找第k个数并输出。如\(1,2,3,5,6,7,8,9,10,11,12\),\(k=4\)时输出\(5\)。思路1有一个巧妙的解法:考虑这个问题,从一个没有限制的从1开始的递增序列找出第k个数,......
  • 考虑充电需求差异性的电动汽车协同充放电调度方法
    考虑充电需求差异性的电动汽车协同充放电调度方法摘要:代码提出了一种微电网中电动汽车的协调充电调度方法,以将负荷需求从高峰期转移到低谷期。在所提出的方法中,基于充电紧迫性指标选择电动汽车的充电模式,该指标可以反映不同的充电需求。然后,建立协调充电调度优化模型,以最小化整......
  • taro3.6.4 在H5 端使用 tabBar 出现bug --- taro Cannot read properties of undefi
    taro3.6.4在H5端使用tabBar出现bug解决办法就是换版本3.6.2好像没有这个问题已经有人反馈了,https://github.com/NervJS/taro/issues/13581taroCannotreadpropertiesofundefined(reading'list')......
  • 让 Spartacus 服务器端渲染引入 long API 调用超时机制的两种配置方法
    两种方法,使用config.backend.timeout={浏览器:...,服务器:...},或者可以更具体地配置,即基于Request粒度,通过将HTTP_TIMEOUT_CONFIGHttpContextToken传递给AngularHttpClient的方法来针对每个具体请求进行配置。在SSR(Node.js)中,超时处理耗时过长的外部http调用是一项尤为重......
  • JAVA 用 List 实现堆
    大顶堆:每个父节点都大于子节点小顶堆:每个父节点都小于子节点在堆中,每次加入元素或者移除元素,都要调整堆的位置,使其满足堆的定义。常用于topK问题,k个最大/最小元素,每次弹出大顶堆/小顶堆堆顶元素即可。以及堆排序问题,堆排序可以看成是将待排序的数组元素依次加入堆(每次加入......
  • 操作系统-区分文件共享的两种方式:软链接和硬链接
    软链接与硬链接是用来干什么的呢?为解决文件的共享使用,Linux系统引入了两种链接:硬链接(hardlink)与软链接(又称符号链接,即softlink或symboliclink)。链接为Linux系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。1.硬链接(基于索引节点的共......
  • 类成员初始化的两种方法,const,static类成员的初始化
    类成员初始化的两种方法,const,static类成员的初始化我们已经知道可以用构造函数里的代码来初始化对象,这就是我们要用的第一种初始化方式。第一种初始化方式#include<bits/stdc++.h>usingnamespacestd;classEntity{private: stringm_name;public: Entity(){ m_nam......
  • java学习日记20230411-ArrayList
    ArraylList注意事项ArrayList可以加入null,并且多个;ArrayList是由数组来实现数据存储的ArrayList基本等同于Vector,处理ArrayList是线程不安全(执行效率高),在多线程情况下,不建议使用ArrayLIst  ArrayList示例publicclassArrayList01{publicstaticvoidmain(Stri......
  • 08列表(list)与元组(tuple)
    列表(list)与元组(tuple)列表的格式>-[数据1,数据2,数据3,数据4,......]>-列表可以存储多个数据,数据之间的逗号以英文分割而且可以数据是不同类型的数据,列表是可变数据类型。>-空列表list_data=[]或者list_data=list()列表的创建#使用[]直接创建列表li=[1,2,......