美文网首页
JAVA8 HashSet学习笔记

JAVA8 HashSet学习笔记

作者: luoyoub | 来源:发表于2018-09-28 21:44 被阅读0次

    HashSet

    Set集合的最主要特性就是没有重复元素,HashSet是Set的一个字类,其内部基于HashMap实现,因此HashSet的实现比较简单,相关HashSet的操作,基本上都是直接调用底层HashMap的相关方法来完成

    // 底层使用HashMap来保存HashSet的元素
    private transient HashMap<E,Object> map;
    
    // 由于Set只使用到了HashMap的key,所以此处定义一个静态的常量Object类,来充当HashMap的value
    private static final Object PRESENT = new Object();
    

    总结

    • HashSet非线程安全
    • HashSet基于HashMap实现无容量限制
    • 允许null值
    • 添加值得时候会先获取对象的hashCode方法,如果hashCode 方法返回的值一致,则再调用equals方法判断是否一致,如果不一致才add元素

    相关文章

      网友评论

          本文标题:JAVA8 HashSet学习笔记

          本文链接:https://www.haomeiwen.com/subject/rojmoftx.html