HashSet源码分析
来源:互联网 发布:3年java工资待遇杭州 编辑:程序博客网 时间:2024/05/09 02:42
HashSet底层是HashMap实现的,关于HashMap的分析请移步到HashMap源码分析
属性
private transient HashMap<E,Object> map;private static final Object PRESENT = new Object();
构造方法
public HashSet() {//底层会初始化一个空的HashMap,并使用默认初始容量为16和加载因子0.75。 map = new HashMap<>(); } public HashSet(Collection<? extends E> c) { map = new HashMap<>(Math.max((int) (c.size()/.75f) + 1, 16)); addAll(c); } public HashSet(int initialCapacity, float loadFactor) { map = new HashMap<>(initialCapacity, loadFactor); } public HashSet(int initialCapacity) { map = new HashMap<>(initialCapacity); } HashSet(int initialCapacity, float loadFactor, boolean dummy) { map = new LinkedHashMap<>(initialCapacity, loadFactor); }
初始化HashSet时,可以指定初始化容量和负载因子。因为HashSet是由HashMap来实现,如果不指定,则默认值都与HashMap中的一样,即默认初始化容量为16,默认负载因子为0.75。
0 0
- HashTable & HashSet 源码分析
- HashSet源码分析
- HashSet源码分析
- HashSet 源码分析
- HashSet源码分析
- HashSet源码分析
- HashSet源码分析
- 深入源码分析HashSet
- 深入源码分析HashSet
- 《Java源码分析》:HashSet
- HashMap HashSet源码分析
- 源码分析-HashSet、LinkedHashSet
- HashSet源码分析
- HashSet源码分析
- HashSet源码分析
- 《Java源码分析》:HashSet
- HashSet源码分析
- hashset类源码分析
- 关于Android连接远程数据库(mysql、oracle)
- [leetcode]Anagrams
- rpm
- Jquery:为标签添加data存放额外数据
- Knight Moves
- HashSet源码分析
- 编程算法 - 硬币问题 代码(C)
- Map集合的遍历
- 呵呵
- Git 常用命令详解<转>
- 不用递归获取树节点的所有层级子节点
- WIN7 JDK1.6 环境变量设置
- win7系统,QTP11录制脚本空,BHOManager Class已经启用
- java.lang.IllegalStateException:Fragment XXXFragment{409864b0} not attached to Activity