zoukankan      html  css  js  c++  java
  • HashMap

    为了更形象的理解Hashmap,直接上图

    底层结构用哈希表(其实是数组+链表)

    普及
      数组:查询快(下标),增删慢
      链表:增删快,查询慢(首位相连,找到前一个的末尾,才能找到)

    hashMap  结构(jdk1.8)

     

          1、对key求hash值   

         2、初始化数组(默认长度16)

       3、put元素  

                   1.1 没有元素  放入该位置 

                   1.2 有元素,以链表形式放到链表的最后(kdk1.7及以前放在最前面)

                   ==》当元素是TreeNode类型(即长度超过8,转换成树结构)

                  

     4、扩容  当数组不够用,需要进行扩容:默认是(数组大小*扩容因子(默认值0.75)),即长度为16时,当长度超过12,就开始扩容,方法resize()

    未完待续。。。。。。。。。。。。。。。。。。。。。。 HashMap线程是否安全

  • 相关阅读:
    2. 开关电源.电感
    1. 开关电源.引子
    资源介绍
    3. EMC EMS EMI
    2. 基于MCU应用的EMC指南
    1. 内部管脚电路
    9.150 Predefined macros
    海康安防平台
    Redis常见配置
    利用python检测单词的相似度
  • 原文地址:https://www.cnblogs.com/songsong003/p/11123869.html
Copyright © 2011-2022 走看看