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