gpt4 book ai didi

java.util.Mapvalues()方法性能

转载 作者:行者123 更新时间:2023-12-01 17:50:58 27 4
gpt4 key购买 nike

我有一张像这样的 map ,其中包含数百万个条目:

private final Map<String, SomeItem> tops = new HashMap<>();

我需要获取值列表,这可以通过调用 java.util.Map Values() 方法来完成。

每次调用 values() 方法时都会创建值的 Collection 还是从性能角度预先计算?

由于我的 Map 有数百万个元素,我不想每次调用 values() 时都创建新的列表对象。

最佳答案

下面是 java.util.HashMapMap.values() 的复制实现:

public Collection<V> values() {
Collection<V> vs = values;
if (vs == null) {
vs = new Values();
values = vs;
}
return vs;
}

这清楚地表明,除非必要,否则不会创建值集合。因此,调用 values()

不应该产生额外的开销

关于java.util.Mapvalues()方法性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50190877/

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