jdk1.8 HashMap源码分析(构造函数)
2017-08-02 13:51
190 查看
/** * Constructs an empty <tt>HashMap</tt> with the specified initial * capacity and load factor. * * @param initialCapacity the initial capacity * @param loadFactor the load factor * @throws IllegalArgumentException if the initial capacity is negative * or the load factor is nonpositive */ public HashMap(int initialCapacity, float loadFactor) { if (initialCapacity < 0) throw new IllegalArgumentException("Illegal initial capacity: " + initialCapacity); if (initialCapacity > MAXIMUM_CAPACITY) initialCapacity = MAXIMUM_CAPACITY; if (loadFactor <= 0 || Float.isNaN(loadFactor)) throw new IllegalArgumentException("Illegal load factor: " + loadFactor); //默认装载因子0.75 this.loadFactor = loadFactor; /* tableSizeFor返回一个数,这个数满足两个条件: 1、大于或等于initialCapacity 2、是2的次幂,如2,4,8,16等 this.threshold: The next size value at which to resize (capacity * load factor). // (The javadoc description is true upon serialization. // Additionally, if the table array has not been allocated, this // field holds the initial array capacity, or zero signifying // DEFAULT_INITIAL_CAPACITY.) int threshold; */ this.threshold = tableSizeFor(initialCapacity); }
相关文章推荐
- JDK1.8 HashMap中put源码分析
- JDK1.8 HashMap中put源码分析
- jdk1.8 HashMap源码分析
- JDK1.8源码分析之HashMap(一) (转)
- JDK1.8 HashMap 源码分析
- HashMap源码分析 JDK1.8
- jdk1.8中HashMap源码分析流程图
- jdk1.8 HashMap源码分析(resize函数)
- JDK1.8的HashMap源码分析
- java.util.concurrent 之ConcurrentHashMap 源码分析
- 【集合框架】JDK1.8源码分析之HashMap(一)
- java util包学习(9)HashMap源码分析
- 1.7 HashMap源码分析
- jdk7 HashSet和HashMap源码分析
- Java 集合框架源码分析(三)——HashMap
- HashMap与TreeMap源码分析
- HashMap 原理和源码分析
- 【Java入门提高篇】Day22 Java容器类详解(五)HashMap源码分析(上)
- Hashmap 源码分析
- HashSet与HashMap关系之源码分析