我以为我可以打电话给清楚,而不是
if (tmap.size() > 0) {
tmap.clear();
}
Run Code Online (Sandbox Code Playgroud)
或者更有效率?
dav*_*xxx 10
你什么TreeMap.clear()也得不到,因为在开销方面没有任何意义:
public void clear() {
modCount++;
size = 0;
root = null;
}
Run Code Online (Sandbox Code Playgroud)
因此,只需简单地阅读您的代码即可 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;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |