gpt4 book ai didi

java - 插入性能: Use HashSet at begin vs use ArrayList at begin and use hashset to remove duplicate at the end

转载 作者:行者123 更新时间:2023-11-30 05:54:23 25 4
gpt4 key购买 nike

哪个应该更快?我需要快速插入元素并删除重复项。

代码示例:

List catNames = new ArrayList();
for(Cat cat: cats){
catNames.add(nameTheCat(cat));
}
new HashSet(catNames); // remove duplicates finally

对比

HashSet catNames = new HashSet();
for(Cat cat: cats){
catNames.add(nameTheCat(cat));
}

最佳答案

如果有很多重复项,第一个代码段(首先创建List)可能会浪费(内存和时间),因为稍后您将消除重复项。

因此,使用第二个代码段并将元素直接添加到 Set 中更有意义。

编辑:更改问题后,您可以使用 Streams 来缩短代码:

Set<String> catNames = cats.map(cat->nameTheCat(cat)).collect(Collectors.toSet());

关于java - 插入性能: Use HashSet at begin vs use ArrayList at begin and use hashset to remove duplicate at the end,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53429988/

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