前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java lambda list集合中对象某属性重复,只取第一个对象

java lambda list集合中对象某属性重复,只取第一个对象

作者头像
翎野君
发布2024-04-25 15:00:02
790
发布2024-04-25 15:00:02
举报
文章被收录于专栏:翎野君翎野君

可以使用Java 8的流式编程和Lambda表达式来实现这个需求:

?

代码语言:javascript
复制
List<MyObject> list = getList(); // 获取List集合
Map<String, MyObject> map = list.stream()
        .collect(Collectors.toMap(MyObject::getProperty, Function.identity(), (o1, o2) -> o1));
List<MyObject> resultList = new ArrayList<>(map.values());

其中,MyObject是具体的对象类,getProperty()是获取属性的方法。上述代码中,使用stream()将List转换为流,然后使用toMap()方法将元素按照属性值作为key,对象本身作为value存入Map中,如果有重复属性,则使用第一个对象。最后,将Map的values取出来,存入新的List中,即可得到只取第一个对象的List集合。

本篇文章如有帮助到您,请给「翎野君」点个赞,感谢您的支持。

首发链接:/developer/article/2412450

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-04-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com