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

昨天和朋友们度过了一个十分快乐的周末!!!

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

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是需要去重的集合

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

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

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

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

空谈误国,实干兴邦

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

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

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

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