gpt4 book ai didi

java - 在 java TreeMap 上,我应该在清除之前检查大小吗?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:44:19 25 4
gpt4 key购买 nike

我假设我可以调用 clear 而不是

if (tmap.size() > 0) {
tmap.clear();
}

还是更高效?

最佳答案

您将一无所获,因为 TreeMap.clear() 在开销方面毫无意义:

public void clear() {
modCount++;
size = 0;
root = null;
}

因此,只需使用 tmap.clear();

即可让您的代码易于阅读

JDK 集合类的编写是为了尽可能优化。
所以你通常不需要担心基本的优化,因为这些是必然要完成的。
例如查看 HashMap.clear() 逻辑,clear() 操作需要更多的开销:清除表(桶)。
因此,在执行之前检查 map 的大小:

public void clear() {
Node<K,V>[] tab;
modCount++;
if ((tab = table) != null && size > 0) {
size = 0;
for (int i = 0; i < tab.length; ++i)
tab[i] = null;
}
}

关于java - 在 java TreeMap 上,我应该在清除之前检查大小吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51753193/

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