stream流map 多个字段_stream流根据对象指定字段去重
先封装一个去重的方法
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
import java.util.function.Predicate;
/**
* 程熙cjp:https://blog.csdn.net/weixin_41133233
* 去重工具类
*
* @author chengxi
* @date 2020/3/17 17:15
*/
public class DeduplicationUtil {
/**
* 自定义函数去重
*
* @param keyExtractor
* @param
* @return
*/
public static Predicate distinctByKey(Function super T, ?> keyExtractor) {
Map seen = new ConcurrentHashMap<>();
return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;
}
}
案例:
// 注意需要关流之后,才会完成去重,如果继续操作流可能拿到未去重的数据
List logEchoVOList = traceLogEchoVOList.stream()
.filter(DeduplicationUtil.distinctByKey(d -> d.getVisitorNo()))
.collect(Collectors.toList());
stream流map 多个字段_stream流根据对象指定字段去重相关推荐
- java 对象验证非空_判断Bean对象指定字段非空
判断Bean对象指定字段非空. 方案: 在bean对象上增加注解,指定字段非空,返回异常信息有明确字段描述,省去不必要的if.else判断. 新建注解类 /** * 参数校验,判断字段非空.返回异常文 ...
- 对象字段java_Java的类,对象以及字段和方法
1 编码风格 代码风格一般规定:类名的首字母要大写,如果类由几个单词构成,那么吧它们并在一起(不要用下划线来分隔) 其中每个内部带刺的首字母都采用大写形式 例如 : class AllColorOf ...
- oracle创建视图字段,oracle cast--创建视图指定字段类型
今天创建一个视图 create view v_myview{ id, time } as select t.id as id, (case when to_date(t.time,'hh24:mi:s ...
- mongodb 导出指定数据库文件大小_大数据技术之将mongodb 数据指定字段导出,然后指定字段导入mysql 实例 及相关问题解决...
本篇文章探讨了大数据技术之将mongodb 数据指定字段导出,然后指定字段导入mysql 实例 及相关问题解决,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. 需求:将mongo ...
- MySQL为表的指定字段添加数据
只向表的部分字段添加数据,而其他字段的值为表定义时的默认值 INSERT INTO 表名(字段1,字段2,--) VALUES(值1,值2,--); 参数说明 字段1,字段2,--表示数据表中的字段名 ...
- mongodb 导入 mysql_将mongodb 数据指定字段导出,然后指定字段导入mysql 实例 及相关问题解决...
需求:将mongodb 数据指定字段导出,然后再指定字段导入mysql 表中 直接上图吧, 最后 会将遇到几个问题及解决方案贴出,以便遇到类似问题可以迅速解决(期间所用命令具体用法不在本文详解之内) ...
- stream流倒序排序_java8 stream 操作map根据key或者value排序的实现|chu
引言 最近小编自己一个人在负责一个项目的后台开发,其中有一部分是统计相关的功能,所以需要一些排序或者分组的操作,之前这种操作小编觉得还是比较麻烦的,虽热有一些现成的工具类,但是工具类的写法也是比较复杂 ...
- stream流_Stream流的这些操作,你得知道,对你工作有很大帮助
Stream流 Stream(流)是一个来自数据源的元素队列并支持聚合操作: 元素是特定类型的对象,形成一个队列. Java中的Stream并不会存储元素,而 是按需计算. 数据源 流的来源. 可以是 ...
- java stream流_恕我直言你可能真的不会java第4篇:Stream管道流Map操作
一.回顾Stream管道流map的基础用法 最简单的需求:将集合中的每一个字符串,全部转换成大写! List<String> alpha = Arrays.asList("Mon ...
最新文章
- import是引进外部函数吗_你必须要知道的Python中的main函数
- java.text.dateformat_使用java.text.SimpleDateFormat类进行文本日期和Date日期的转换
- .NET开发人员如何开始使用ML.NET
- 腾讯视频安卓版下载_腾讯课堂上传课程视频
- keil及iar调试解释
- scala if 语句缩写_Scala If-Else语句示例教程
- React源码剖析系列 - 玩转 React Transition
- python中的super用法详解_python中super的用法实例解析
- (实验)使用Protel 99se绘制2114存储器芯片(详细)
- 专利申请“技术交底书”的要素和撰写要求
- 微信小程序开发:绑定手机号获取验证码功能
- “钱妈妈”平台犯罪嫌疑人被抓捕 涉嫌非法吸收公众存款
- 收集的13个杀毒软件和安全防护软件(有图哦)
- 教你用arduino控制LCD1602液晶屏的底层程序实现(全网最笨的方法)
- Docker初识:安装centos(ssh远程登录)
- 获上市公司投资的睿图智能,如何打开“机器视觉”新空间?
- 怎样迅速搭建运营级直播服务器,用直播源码来完成属于你的专属直播服务
- MySQL数据库(练习一: 提示:emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/comm佣金/deptno所属部门编号) de)
- 用开源中国(oschina)Git管理代码(整合IntelliJ 13.1.5)
- 网易视频云:HBase GC的前生今世 – 演进篇