JAVA8 HashSet学习笔记

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元素
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 实际上,HashSet 和 HashMap 之间有很多相似之处,对于 HashSet 而言,系统采用 Hash 算...
    曹振华阅读 7,206评论 1 37
  • 一、集合入门总结 集合框架: Java中的集合框架大类可分为Collection和Map;两者的区别: 1、Col...
    程序员欧阳阅读 13,986评论 2 61
  • Java集合 1、集合的由来 程序的需求也许并不能确定创建对象的数量,甚至不知道对象的类型,为了满足普适的编程需要...
    小灰灰_5c75阅读 4,587评论 0 0
  • Java集合类可用于存储数量不等的对象,并可以实现常用的数据结构如栈,队列等,Java集合还可以用于保存具有映射关...
    小徐andorid阅读 5,952评论 0 13
  • 会合后,大家向下一个城市出发了,路上发生了一件事…… “这儿有个坑!”“啊!!”“不要踩我脸!”“皮卡丘不要放电!...
    阿团SAMA阅读 1,859评论 0 1