pet*_*ter 6 java hashmap set hashset
我想知道为什么HashSet在场景后面内部使用HashMap,TreeSet使用TreeMap和LinkedHashSet使用LinkedHashMap?因为Set只携带和存储密钥但值,所以不使用额外的内存空间,如不经济?
在Entry该内部类HashMap具有是以下
class Entry<K,V> implements Map.Entry<K,V> {
final K key;
V value;
Entry<K,V> next;
final int hash;
...
....
}
Run Code Online (Sandbox Code Playgroud)
对于Set我们真的不需要那个V value变量,对吗?那么内部使用地图对象的好处和主要原因是什么?
zmb*_*mbq 11
更少的代码,更少的错误,更少的测试.
通过重用相同的代码,您只需要优化,调试和测试一次.内存开销很小 - 每个条目的另一个指针,与Key相比可忽略不计.
| 归档时间: |
|
| 查看次数: |
2477 次 |
| 最近记录: |