jdk1.8中HashMap底层原理简介说明
下文笔者讲述jdk1.8中HashMap底层原理说明
HashMap底层原理: 1.JDK 1.8中HashMap底层采用 数组+链表/红黑树的结构 HashMap中数据以键值对的形式存在 键对应的hash值用来计算数组下标 当两个元素key的hash值一样,则会发生哈希冲突,此时数据会放在同一个链表上 2.数组中存储HashMap数据,每个下标对应一条链表,在一条哈希链上可能会发生哈希碰撞,此时发生碰撞的数据都会存储在同一个链上 链上的每一个节点(Node/Entry)都包含key,value,next指针和hash值 3.HashMap扩容的条件 当前数据/总数据容量>负载因子 Hashmap将执行扩容操作 默认初始化容量为16,扩容容量必须是2的幂次方,最大容量为 1<< 30 默认加载因子为 0.75
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。