From 7390ef6ff5c4ee733ed9c12adbc34ffb1df05ef1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=A8=E6=9C=A8=E5=8C=A0?= Date: Tue, 16 Oct 2018 16:15:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0jdk1.8=E8=A7=A3=E5=86=B3HashM?= =?UTF-8?q?ap=E6=89=A9=E5=AE=B9=E6=AD=BB=E5=BE=AA=E7=8E=AF=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加jdk1.8解决HashMap扩容死循环问题 --- Java相关/这几道Java集合框架面试题几乎必问.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Java相关/这几道Java集合框架面试题几乎必问.md b/Java相关/这几道Java集合框架面试题几乎必问.md index 59aa4af2..974e6a02 100644 --- a/Java相关/这几道Java集合框架面试题几乎必问.md +++ b/Java相关/这几道Java集合框架面试题几乎必问.md @@ -190,6 +190,7 @@ static int hash(int h) { 这个过程为,先将 A 复制到新的 hash 表中,然后接着复制 B 到链头(A 的前边:B.next=A),本来 B.next=null,到此也就结束了(跟线程二一样的过程),但是,由于线程二扩容的原因,将 B.next=A,所以,这里继续复制A,让 A.next=B,由此,环形链表出现:B.next=A; A.next=B +**注意:jdk1.8已经解决了死循环的问题。** ## HashSet 和 HashMap 区别