zoukankan      html  css  js  c++  java
  • HashMap 实现原理 1.8

    1.HashMap 允许 null 键和 null 值,在计算哈键的哈希值时,null 键哈希值为 0。HashMap 并不保证键值对的顺序,这意味着在进行某些操作后,键值对的顺序可能会发生变化。另外,需要注意的是,HashMap 是非线程安全类,在多线程环境下可能会存在问题

    2.底层实现原理1.8 主要基于散列算法 链表和 红黑树 实现

    3.主要成员变量  

     table 记录桶的数组 size 桶的大小

     DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 默认桶的大小

     DEFAULT_LOAD_FACTOR  负载因子默认0.75

    名称用途initialCapacityHashMap 初始容量

    loadFactor负载因子

    threshold当前 HashMap 所能容纳键值对数量的最大值,超过这个值,则需扩容

    4.主要内部类实现

       Node 基于链表的单向节点

     TreeNode 红黑树节点

     5.查找 即先定位键值对所在的桶的位置,然后再对链表或红黑树进行查找。通过这两步即可完成查找

     

  • 相关阅读:
    Pycharm5注册方式
    五、监听共享目录文件
    三、python webservice
    二、Python安装扩展库
    一、Python安装下载
    test
    拖延
    要乐观对待生活
    乞讨者
    不要总是指责和埋怨
  • 原文地址:https://www.cnblogs.com/bug1024/p/11282809.html
Copyright © 2011-2022 走看看