使用Java8特性对list进行按属性去重
2024-09-03 13:58:54
编写工具类
public class DistinctUtil {
public static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {
Map<Object, Boolean> seen = new ConcurrentHashMap<>();
return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;
}
}
使用方式如下(意思是:根据releaseVersions是一个List<MDynamicFuncReleaseVersion>,然后根据MDynamicFuncReleaseVersion的ReleaseVersion属性对List进行数据去重):
releaseVersions.stream().filter(DistinctUtil.distinctByKey(MDynamicFuncReleaseVersion::getReleaseVersion)).collect(Collectors.toList());
最新文章
- 用微信小程序开发的Canvas绘制可配置的转盘抽奖
- magento 安装
- Android入门(八)广播
- linux下DHCP服务原理总结
- 03-第一个C语言程序的分析
- iOS-硬件声音 ,振动,提示警告
- RUP(Rational Unified Process)统一软件过程概述
- 动态模板中 SWIPER 划不动问题
- thymeleaf 基本语法
- 两款Mac下的视频下载利器
- C# web访问mysql数据库-整理归纳总结
- SSH整合的详细步骤
- Dora.Interception, 一个为.NET Core度身打造的AOP框架[3]:Interceptor的注册
- Sping Boot入门到实战之入门篇(四):Spring Boot自动化配置
- Python3解析dex文件
- C#键盘事件处理父窗体子窗体
- JVM总结-虚拟机加载类
- spring boot 与 thymeleaf (3): 设置属性、条件、遍历、局部变量、优先级、内联语法
- Aerospike系列:1:安装
- 关于Unity中Cg的基本语法和使用
热门文章
- 蒙特卡罗方法、蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)初探
- Java匹马行天下之JavaSE核心技术——注解
- 关于plupload组件无法拍照上传的解决方案
- ServiceStack.Redis简单封装
- 我是如何一步步编码完成万仓网ERP系统的(十一)产品库设计 7.发布商品
- C# - Winform - DevExpress - GridControl 任意条件控制Row背景色。
- git远程写协作同步
- HTML中的音频 视频 的播放代码
- W3C推进SVG规范Ver1.1(中文译稿)—Part I
- vue+element省市县的二级联动功能