Hashset 如何避免重复
How Hashset avoids duplicates
HashSet内部调用HashMap避免实现重复
public HashSet() {
map = new HashMap<E,Object>();
}
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}
例如
代码:
Set hashSet = new HashSet();
hashSet.add("Abraham");
hashSet.add("Billy");
hashSet.add("Billy");
System.out.println("HashSet Value " +hashSet.toString());
输出:
HashSet Value [Billy, Abraham]
在Map
界面中,每个key也是唯一的(java docs):
An object that maps keys to values. A map cannot contain duplicate
keys; each key can map to at most one value.
这意味着,HashMap
已经在注意避免重复键,它们是 HashSet
的元素
HashSet内部调用HashMap避免实现重复
public HashSet() {
map = new HashMap<E,Object>();
}
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}
例如
代码:
Set hashSet = new HashSet();
hashSet.add("Abraham");
hashSet.add("Billy");
hashSet.add("Billy");
System.out.println("HashSet Value " +hashSet.toString());
输出:
HashSet Value [Billy, Abraham]
在Map
界面中,每个key也是唯一的(java docs):
An object that maps keys to values. A map cannot contain duplicate keys; each key can map to at most one value.
这意味着,HashMap
已经在注意避免重复键,它们是 HashSet