java核心基础--jdk源码分析学习--HashSet
2017-12-16 17:26
621 查看
java.util.HashSet
1. 内部由HashMap实现, add时对象放入HashMap的key里,value填充PRESENT(一个静态空对象)
public HashSet() { map = new HashMap<>();//new时构造一个HashMap } public boolean add(E e) { return map.put(e, PRESENT)==null;//add时对象放入HashMap的key里,value填充PRESENT } private static final Object PRESENT = new Object();//PRESENT是一个静态最终的空对象
2. 记住内部【由HashMap实现】,用来【存单个对象】
3. 其他方法基本都是调用HashMap的方法,参看Hashmap,使用时注意的问题也可以参看HashMap分析
相关文章推荐
- java核心基础--jdk源码分析学习--基本数据类型
- java核心基础--jdk源码分析学习--Hashtable
- java核心基础--jdk源码分析学习--String
- java核心基础--jdk源码分析学习--TreeMap
- java核心基础--jdk源码分析学习--Integer
- java核心基础--jdk源码分析学习--ArrayList
- java核心基础--jdk源码分析学习--LinkedList
- java核心基础--jdk源码分析学习--HashMap
- Java基础——LinkedHashSet源码分析
- Java Collections Framework之HashSet及LinkedHashSet源码分析(基于JDK1.6)
- JDK源码学习之TreeMap.java分析
- java基础提高篇--集合源码分析--jdk1.8 HashMap源码
- java学习之旅63常用类_包装类_Integer_Number_JDK源码分析
- java基础提高篇--集合源码分析--jdk1.8 ArrayList源码
- java8学习之Collector源码分析与收集器核心
- java学习之旅59--模拟ArrayList容器的底层实现_JDK源码分析ArrayList
- 【Java基础】Java学习之ArrayList源码常用方法分析
- Java基础:JDK动态代理源码分析
- java容器源码分析--HashSet(JDK1.8)
- java学习之旅56--数组_StringBuilder和StringBuffer的使用_常用方法_方法链的实现_JDK源码分析