From 2a14332b0e3d1a14eae978f3f7c747d5de972570 Mon Sep 17 00:00:00 2001 From: Snailclimb Date: Sat, 1 Sep 2018 16:15:44 +0800 Subject: [PATCH] =?UTF-8?q?HashSet=20=E5=BA=95=E5=B1=82=E5=B0=B1=E6=98=AF?= =?UTF-8?q?=E5=9F=BA=E4=BA=8E=20HashMap=20=E5=AE=9E=E7=8E=B0=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 如果你看过 HashSet 源码的话就应该知道:HashSet 底层就是基于 HashMap 实现的。(HashSet 的源码非常非常少,因为除了 clone() 方法、writeObject()方法、readObject()方法是 HashSet 自己不得不实现之外,其他方法都是直接调用 HashMap 中的方法。) --- Java相关/这几道Java集合框架面试题几乎必问.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Java相关/这几道Java集合框架面试题几乎必问.md b/Java相关/这几道Java集合框架面试题几乎必问.md index 76502181..028f7d4c 100644 --- a/Java相关/这几道Java集合框架面试题几乎必问.md +++ b/Java相关/这几道Java集合框架面试题几乎必问.md @@ -98,6 +98,8 @@ JDK1.8 之前 HashMap 由 **数组+链表** 组成的(**“链表散列”** ## HashSet 和 HashMap 区别 +如果你看过 HashSet 源码的话就应该知道:HashSet 底层就是基于 HashMap 实现的。(HashSet 的源码非常非常少,因为除了 clone() 方法、writeObject()方法、readObject()方法是 HashSet 自己不得不实现之外,其他方法都是直接调用 HashMap 中的方法。) + ![HashSet 和 HashMap 区别](https://user-gold-cdn.xitu.io/2018/3/2/161e717d734f3b23?w=896&h=363&f=jpeg&s=205536) ## ConcurrentHashMap 和 Hashtable 的区别