zoukankan      html  css  js  c++  java
  • HashMap 源码分析

    static final int DEFAULT_INITIAL_CAPACITY = 16;  默认容量

    static final int MAXIMUM_CAPACITY = 1073741824; 最大容量

    static final float DEFAULT_LOAD_FACTOR = 0.75F; 增长因子

    // 这是一个阈值,当桶(bucket)上的链表数大于这个值时会转成红黑树,put方法的代码里有用到
    static final int TREEIFY_THRESHOLD = 8;
     
    // 也是阈值同上一个相反,当桶(bucket)上的链表数小于这个值时树转链表
    static final int UNTREEIFY_THRESHOLD = 6;
     
    // 看源码注释里说是:树的最小的容量,至少是 4 x TREEIFY_THRESHOLD = 32 然后为了避免(resizing 和 treeification thresholds) 设置成64
    static final int MIN_TREEIFY_CAPACITY = 64;
     
    // 每次扩容和更改map结构的计数器
    transient int modCount;
     
    // 临界值 当实际大小(容量*填充因子)超过临界值时,会进行扩容
    int threshold;
     
    get和put的时候确定元素在数组中的位置
  • 相关阅读:
    CCF CSP 201403-2 窗口
    Ethical Hacking
    Ethical Hacking
    Ethical Hacking
    Ethical Hacking
    Ethical Hacking
    Ethical Hacking
    Ethical Hacking
    Ethical Hacking
    Ethical Hacking
  • 原文地址:https://www.cnblogs.com/interfacehwx/p/10098075.html
Copyright © 2011-2022 走看看