首页 > 其他分享 >HashMap结构认识

HashMap结构认识

时间:2023-09-27 19:14:35浏览次数:25  
标签:HashMap 树结构 认识 默认 链表 键值 长度 结构

DEFAULT_INITIAL_CAPACITY是HashMap的初始化容量,默认16

DEFAULT_LOAD_FACTOR是HashMap的负载因子默认是0.75,这意味着当HashMap的键值对数量达到了容量的75%时,HashMap就会进行扩容,桶数组的长度将翻倍。

TREEIFY_THRESHOLD是树化阈值,如果链表长度超过了8,HashMap 会将该链表转换为红黑树结构

因此我们可以理解:

HashMap就是一个默认长度16的桶数组,每个桶用来存放键值对。

当添加键值对时,键值对的key与已有键值对的key发生了哈希冲突,那么它们将存放到同一个桶内,桶内就会维护一个键值对链表,将新的键值对追加到链表尾部。

当链表长度超过树化阈值8,则会将链表自动转换成红黑树结构。

标签:HashMap,树结构,认识,默认,链表,键值,长度,结构
From: https://www.cnblogs.com/ashet/p/17733480.html

相关文章

  • Redis系列 - Redis底层数据结构(简单动态字符串(SDS)、链表、字典、跳跃表、整数集合
    转自:https://blog.csdn.net/u011485472/article/details/109460490Redis系列-Redis底层数据结构(简单动态字符串(SDS)、链表、字典、跳跃表、整数集合、压缩列表)简单动态字符串(simpledynamicstring,SDS)链表字典跳跃表整数集合压缩列表RedisObject在介绍Redis底......
  • 关于数据结构单链表
    单链表作为最基础也是最常用的数据结构之一,在这门课程中占据着十分重要的地位。本文将对单链表这一章节的知识点进行总结,包括单链表的定义、基本操作、常见应用以及时间复杂度等方面。一、单链表的定义和基本操作单链表的定义:单链表由节点组成,每个节点包含数据和指向下一个节点的指......
  • Python 基础知识结构
    一、关键字1、return2、if3、elif4、else5、for6、while二、内置函数1、print()2、max()3、min()4、len()5、range()6、enumerate()4、input()5、type()6、int()三、运算符+-*///=+=-=>>===%三目运算符in成员运算符1、算数运算符+加数字与字符串拼接-......
  • UE4里的数据结构与算法
    在CoreMinimal.h的头文件里可以看到最常使用的头文件数据结构:Plane(平面)、Sphere(椭圆)、Box(四边形外接框)、Edge(边)等。算法:Core\Public\Algo文件夹下 ......
  • MySQL进阶篇:第二章_二.二_索引结构
    2.2索引结构2.2.1概述MySQL的索引是在存储引擎层实现的,不同的存储引擎有不同的索引结构,主要包含以下几种:索引结构描述B+Tree索引最常见的索引类型,大部分引擎都支持B+树索引Hash索引底层数据结构是用哈希表实现的,只有精确匹配索引列的查询才有效,不支持范......
  • 关于数据结构时间复杂度和空间复杂度的问题
    数据结构与算法是计算机科学中非常重要的领域,对于程序员来说,了解数据结构和算法的时间复杂度和空间复杂度是至关重要的。时间复杂度和空间复杂度是评估算法性能的指标,可以帮助我们预估算法的执行时间和资源消耗情况。时间复杂度描述了算法执行所需的时间与输入规模之间的关系。一......
  • 数据结构---树
    数据结构---树二叉树特征二叉树每个结点最多有2个子结点二叉树的子树有左右之分引理二叉树中层数为i的结点至多有2^i个,i≥0高度为k(k>=0)的二叉树中至少有k+1个结点。含有k(k>=1)个结点的二叉树高度至多为k-1高度为k的二叉树中至多有2^(k+1)-1(k>=0)个结点......
  • 浅谈数学性质与数据结构
    交换律:当式子具有交换律时,我们可以考虑序列颠倒做两遍,算多了整体除二,强制钦定顺序等手段,优雅的解决这类问题。https://codeforces.com/contest/1635/problem/F 结合律:当发现维护的内容,存在结合律时,可以考虑线段树维护(需要支持信息快速结合),静态问题可以考虑猫树 重复消去......
  • 探索堆题的起点——修改结构体
    探索堆的起点——修改结构体这里我们主要以CTFwiki上UAF的例题hacknote为例去创建一个结构体探索堆题代码结构的真相让pwn师傅少点逆向的痛题目:ctf-challenges/pwn/heap/use_after_free/hitcon-training-hacknote/hacknoteatmaster·ctf-wiki/ctf-challenges(github.......
  • 结构体
    Struct是一种自定义数据类型,用于表示一组相关字段的数据结构。优点:命名字段:结构体中的字段都有名称,因此你可以通过字段名称来访问和操作数据。默认值:你可以为结构体字段指定默认值,确保结构体实例的字段总是有初始值。不可变性:结构体是不可变的,这意味着一旦创建了一个结......