//自定义方法
private static <T> Predicate<T> distinctByKey(Function<? super T, Object> keyExtractor) {
Map<Object, Boolean> seen = new ConcurrentHashMap<>();
return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;
}
//使用
List<BindedNote> knowledgeList = page.getResult().stream().filter(distinctByKey(BindedNote::getNoteId)).collect(Collectors.toList());
相关文章
- 10-14list根据某个字段去重
- 10-14如何对List<Map<String,Object>>根据某个key对应的value进行去重 ?
- 10-14数组中嵌套对象,根据对象某个属性对数组进行去重
- 10-14java 根据对象某个属性进行去重
- 10-14C# List 根据对象属性去重的四种方法对比
- 10-14C# List 根据对象属性去重的四种方法对比
- 10-14java8 lanbda表达式对list对象去重,对象属性转成string
- 10-14C# List 根据对象属性去重的四种方法对比
- 10-14java8中List根据某一字段去重
- 10-14java8 利用 ConcurrentHashMap list根据 某个属性 去重