源码分析--HashSet(JDK1.8)

2019-01-22 01:59:34来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

  HashSet为无序不可重复集合。底层几乎全部借助HashMap实现,比较简单。本篇简要分析一下HashSet源码。

 

首先是成员变量:

  1、真正保存数据的HashMap实例

private transient HashMap<E,Object> map;

  2、map实例的值

private static final Object PRESENT = new Object();

 

常用方法:

  1、add()

 public boolean add(E e) {
        return map.put(e, PRESENT)==null;
    }

  从这个HashSet的add()方法中,可以看出。HashSet的不可重复,主要就是利用Map相同键会进行值覆盖的特性完成的。

 

  2、迭代方法

public Iterator<E> iterator() {
        return map.keySet().iterator();
    }

  直接就是返回Map键的迭代器。


原文链接:https://www.cnblogs.com/sunshine-ground-poems/p/10300407.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:源码分析--HashMap(JDK1.8)

下一篇:Java基础学习-Collection