使用方法:
List<BuLtReasonCodeDTO> categoryList = searchvo
.stream()
.filter(distinctByKey(BuLtReasonCodeDTO::getReasonCategory))
.collect(Collectors.toList());
过滤方法:
/**
* 根据属性过滤相同数据方法,用于Stream
*
* @param keyExtractor
* @param <T>
* @return
*/
private static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {
Set<Object> seen = ConcurrentHashMap.newKeySet();
return t -> seen.add(keyExtractor.apply(t));
}
浙公网安备 33010602011771号