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

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

/**
* 数据流去重方法
* 如果多个参数,使用添加即可
* @param keyExtractor
* @param
* @return
*/
public static Predicate distinctByKey(Function keyExtractor) {
Map<Object,Boolean> seen = new ConcurrentHashMap<>();
return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;
}

posted @ 2021-02-25 17:28  你造吗  阅读(349)  评论(0)    收藏  举报