Hashset如何避免重复

时间:2015-06-25 12:24:37

标签: java 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]

1 个答案:

答案 0 :(得分:1)

Map界面中,每个键也都是唯一的(java docs):

  

将键映射到值的对象。 地图不能包含重复内容   键;每个键最多可以映射一个值。

这意味着,HashMap已经在避免重复密钥,这些密钥是HashSet

的元素