编写工具类

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

最新文章

  1. 用微信小程序开发的Canvas绘制可配置的转盘抽奖
  2. magento 安装
  3. Android入门(八)广播
  4. linux下DHCP服务原理总结
  5. 03-第一个C语言程序的分析
  6. iOS-硬件声音 ,振动,提示警告
  7. RUP(Rational Unified Process)统一软件过程概述
  8. 动态模板中 SWIPER 划不动问题
  9. thymeleaf 基本语法
  10. 两款Mac下的视频下载利器
  11. C# web访问mysql数据库-整理归纳总结
  12. SSH整合的详细步骤
  13. Dora.Interception, 一个为.NET Core度身打造的AOP框架[3]:Interceptor的注册
  14. Sping Boot入门到实战之入门篇(四):Spring Boot自动化配置
  15. Python3解析dex文件
  16. C#键盘事件处理父窗体子窗体
  17. JVM总结-虚拟机加载类
  18. spring boot 与 thymeleaf (3): 设置属性、条件、遍历、局部变量、优先级、内联语法
  19. Aerospike系列:1:安装
  20. 关于Unity中Cg的基本语法和使用

热门文章

  1. 蒙特卡罗方法、蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)初探
  2. Java匹马行天下之JavaSE核心技术——注解
  3. 关于plupload组件无法拍照上传的解决方案
  4. ServiceStack.Redis简单封装
  5. 我是如何一步步编码完成万仓网ERP系统的(十一)产品库设计 7.发布商品
  6. C# - Winform - DevExpress - GridControl 任意条件控制Row背景色。
  7. git远程写协作同步
  8. HTML中的音频 视频 的播放代码
  9. W3C推进SVG规范Ver1.1(中文译稿)—Part I
  10. vue+element省市县的二级联动功能