From 26efacb56eb7d4b4cab69a9cd65c20eb2f66389f Mon Sep 17 00:00:00 2001 From: houzhenguo Date: Wed, 6 Nov 2019 19:55:47 +0800 Subject: [PATCH] =?UTF-8?q?update=20HashMap=20=E9=93=BE=E8=A1=A8=E8=BD=AC?= =?UTF-8?q?=E7=BA=A2=E9=BB=91=E6=A0=91=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/java/collection/HashMap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/java/collection/HashMap.md b/docs/java/collection/HashMap.md index 80cd8b57..3c47fe38 100644 --- a/docs/java/collection/HashMap.md +++ b/docs/java/collection/HashMap.md @@ -18,7 +18,7 @@ ## HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。 -JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的(“拉链法”解决冲突).JDK1.8 以后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认为 8)时,将链表转化为红黑树,以减少搜索时间。 +JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的(“拉链法”解决冲突).JDK1.8 以后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认为 8)时,将链表转化为红黑树(将链表转换成红黑树前会判断,如果当前数组的长度小于 64,那么会选择先进行数组扩容,而不是转换为红黑树),以减少搜索时间,具体可以参考 `treeifyBin`方法。 ## 底层数据结构分析 ### JDK1.8之前