gpt4 book ai didi

Java 8 流 - 合并两个集合,使其在特定领域保持唯一

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:06:00 26 4
gpt4 key购买 nike

<分区>

我有两个狗列表 - dogsList1, dogsList2
我想创建一个包含所有具有唯一名称字段的狗的列表。
(意思是,如果我遇到第二只同名的狗,我不会将它添加到结果列表中)

这是我在 java 中能做的最好的事情,但它收集唯一的名字,而不是狗:
(狗包含除名称以外的其他字段)

// collect all dogs names from first list
List<String> dogNames1 = dogsList1.stream()
.map(x -> x.getName()).collect(Collectors.toList());

dogList2.stream()
.filter(x->!dogNames1.contains(x.getName()))
.forEach( x->
dogsList1.add(x);
);

可以改进吗?还有其他更好的解决方案或优化方法吗?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com