package com.smartor.common;
|
|
import java.util.HashSet;
|
import java.util.List;
|
import java.util.Set;
|
import java.util.function.Function;
|
import java.util.stream.Collectors;
|
|
/**
|
* 去重工具类
|
*/
|
public class DistinctByProperty {
|
|
// 创建去重工具方法,根据集合中上属性
|
public static <T> List<T> distinctByProperty(
|
List<T> list,
|
Function<? super T, ?> keyExtractor) {
|
|
Set<Object> seen = new HashSet<>();
|
return list.stream()
|
.filter(item -> seen.add(keyExtractor.apply(item)))
|
.collect(Collectors.toList());
|
}
|
}
|