首页 > 编程语言 > 详细

java8 利用流给实体类去重方法

时间:2021-02-25 18:06:57      阅读:68      评论:0      收藏:0      [点我收藏+]

// 数据去重 利用原理 map去重
List noRepeatList = bookList.stream.filter(distinctByKey(Book::getName)).collect(Collectors.toList());`

/**
 * 数据流去重方法
 * 如果多个参数,使用添加即可
 * @param keyExtractor
 * @param <T>
 * @return
 */
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;
}

java8 利用流给实体类去重方法

原文:https://www.cnblogs.com/gakblog/p/14447909.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!