HashMap底层源码

1.HashMap在创建对象的时候值k v 就确定了

public class HashMap<K,V> extends AbstractMap<K,V>
  implements Map<K,V>, Cloneable, Serializable {
  //重要属性
    static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16//定义了一个16一会要赋值给数组的长度
    static final int MAXIMUM_CAPACITY = 1 << 30;//定义了一个很大很大的数
    static final float DEFAULT_LOAD_FACTOR = 0.75f;//定义了一个值:0.75 负载因子,加载因子
    transient Entry<k,y>[] table //底层主数组
    transient int size;//添加的元素的数量
      int threshold;//定义了,一个变量,没赋值默认为0,————》这个变量就是用来表示数组扩容的边界值,门槛值
      final float loadFactor;//这个变量用来接受:装填因子,加载因子,负载因子
      //空构造器
      public HashMap() {
      //tish(里面是16 和0.75)
      this.loadFactor = DEFAULT_LOAD_FACTOR; // all other fields defaulted
  }
     
     

 

posted @ 2021-08-22 21:31  πππ·  阅读(39)  评论(0)    收藏  举报