文章目录
需求
根据从另一个微服务取到的用户自定义过滤规则,完成实体的去重,并返回给调用方进行后续更新操作
规则定义非常灵活:不同实体类型有不同的过滤规则,且过滤规则的过滤字段数目不定、指定字段名称不定
参考
https://blog.csdn.net/Draymond_feng/article/details/108304165
list<Bean> java8根据某几个属性去重
实现
public static Function distinctByKeyFunction(List fields) {
return (CustomRecord customRecord) -> {
// sj的写法,无需处理最后一个尾缀
StringJoiner sj = new StringJoiner("-");
for (String field : fields) {
sj.add(customRecord.getFieldValue(field));
}
return sj.toString();
};
}
public static Predicate distinctByKey(Function super T, ?> function) {
Map