Java基础

浅谈HashSet

2017-10-28  本文已影响11人  小鱼嘻嘻
HashSet结构图
HashSet.png
HashSet主要方法
HashSet方法解读

public boolean add(E e)源码:

//hashset 利用的是hashmap,所以每次放入的value都是PRESENT
private static final Object PRESENT = new Object();
public boolean add(E e) {
        //可以看到,hashset利用的是hashmap的key,把它对应的值放入到key里,value放入的都是固定的值
        return map.put(e, PRESENT)==null;
    }

public boolean remove(Object o)源码:

 public boolean remove(Object o) {
        //hashmap的删除最终会返回删除对象的value值,hashset通过判断这个value值是不是等于PRESENT来判断是否删除成功
        return map.remove(o)==PRESENT;
    }
HashSet遍历方式
 // one
for (Object o : set) {
    System.out.println(o);
 }
// two
 Iterator iterator = set.iterator();
 while (iterator.hasNext()) {
       System.out.println(iterator.next());
  }
HashSet其他特性介绍
上一篇下一篇

猜你喜欢

热点阅读