我想知道为什么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;
...
....
}
对于设置,我们并不真正需要的是V value
变量,是否正确? 那么,有什么好处和使用内部地图对象的主要原因是什么?