美文网首页
java8 HashMap源码 详细研读

java8 HashMap源码 详细研读

作者: kennethan | 来源:发表于2018-06-22 14:20 被阅读0次

    HashMap源码解析

    https://www.cnblogs.com/zhaojj/p/7805376.html

    ConcurrentHashMap源码解析

    https://www.cnblogs.com/zhaojj/p/8942647.html

    包含了hashmap的连环问

    HashMap

    put操作:

    1.如果是没有hash冲突,直接把元素存在table[i]

    2.如果有hash冲突:

    2.1.如果table[i]的value和新的value相等,新值替换老值

    2.2.如果table[i]是treeNode,就用红黑树插入

    2.3.如果table[i]不是treeNode,就挂载到链表的尾部

    3.链表超过8个元素,就要变成红黑树

    4.扩容问题:map的元素超过threshold,会调用resize方法进行扩容。每次进行2倍扩容和数据转移

    相关文章

      网友评论

          本文标题:java8 HashMap源码 详细研读

          本文链接:https://www.haomeiwen.com/subject/apykyftx.html