[英]On a java TreeMap should i check size before clearing?
我以为我可以打电话给清楚,而不是
if (tmap.size() > 0) {
tmap.clear();
}
或者更有效率?
你将TreeMap.clear()
获得任何东西,因为TreeMap.clear()
在开销方面没有任何意义:
public void clear() {
modCount++;
size = 0;
root = null;
}
因此,只需使用tmap.clear();
即可使代码简单易读tmap.clear();
编写JDK集合类以尽可能地进行优化。
所以你通常不需要担心基本的优化,因为这些都必须完成。
例如,查看HashMap.clear()
逻辑, clear()
操作需要更多开销:清除表(存储桶)。
因此,在执行以下操作之前,会检查地图的大小:
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;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.