互动
最近评论
正在加载中...
标签
寻找感兴趣的领域

眼泪女王真的越看越好看,第五集直接就让我水元素充盈了阿TAT

互联网公司常用框架源码赏析

读尽天下源码,心中自然无码 (gitee.io)

学习底层源码 刷题的解析 面试八股文

https://github.com/doocs

五一过的好快啊,今天好困啊

发现一个list对象根据指定字段去重的代码,因为没太理解,所有就不写文章写在这里记录了

单独的方法
static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {
    Map<Object,Boolean> seen = new ConcurrentHashMap<>();
    //putIfAbsent方法添加键值对,如果map集合中没有该key对应的值,则直接添加,并返回null,如果已经存在对应的值,则依旧为原来的值。
    //如果返回null表示添加数据成功(不重复),不重复(null==null :TRUE)
    return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;
}
使用
List<PlantEExam> newList = new ArrayList<>();
plantEExams.stream().filter(distinctByKey(PlantEExam::getExamId)) //filter保留true的值
        .forEach(newList::add);
return newList;

plantEExams是需要去重的集合

空谈误国,实干兴邦

Java 运算符——&,&& (AND) || (OR) 逻辑运算符

你好呀我的朋友
很高兴见到你
欢迎来到我的博客
kettle基础使用(两个表字段不同的数据迁移)
IDEA 实用插件推荐
Java 汉字转拼音 (巨简单版)
Twikoo 使用指南
主题友链页 免责声明 代码分享
 通过sql语句实现查重功能
你好啊!
avatar
avatar

你好呀
很高兴可以在这里见到你
接下来
就让我们一起学习进步吧!

最近发布
爱发电赞助 赞助
最新评论
引用到评论