美文网首页
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学习笔记

    HashSet Set集合的最主要特性就是没有重复元素,HashSet是Set的一个字类,其内部基于HashMap...

  • Java8学习笔记目录

    Java8学习笔记 -- 接口的默认方法与静态方法 Java8学习笔记 -- Lambda表达式,Function...

  • HashSet学习笔记

    1.实现原理:基于哈希表实现(HashMap)实现 2.不允许重复,可以有一个null值 3.不保证顺序恒久不变 ...

  • Java8学习笔记-1

    Java8学习笔记-1序在java11即将面世的时候,终于开始行动学习java8的特性。目前没有机会实践,只是跟着...

  • 2018-10-28

    Java8学习笔记-1序在java11即将面世的时候,终于开始行动学习java8的特性。目前没有机会实践,只是跟着...

  • HashSet-->HashMap学习笔记

    直接从add方法开始,引入眼帘的为以下代码 看到这里的时候有点疑惑,map是什么时候做的初始化,PRESENT又是...

  • Java8之HashSet理解

    简介 HashSet实现了Set接口,它不允许集合中有重复的值。HashSet是对HashMap的简单包装,对Ha...

  • 方法引用

    方法引用(Method References) 声明:java8新特性系列为个人学习笔记,参考地址点击这里,侵删!...

  • Java8 学习笔记

    @(in action系列)[java8, lambda, stream] Java8 学习 java8 能高效的...

  • Stream API

    Stream 声明:java8新特性系列为个人学习笔记,参考地址点击这里,侵删!! Stream API Java...

网友评论

      本文标题:JAVA8 HashSet学习笔记

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