From ff61d2a7886f07265edac5aa28c180aa3ba42530 Mon Sep 17 00:00:00 2001 From: Omooo <869759698@qq.com> Date: Wed, 10 Jun 2020 07:42:28 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E9=9B=86=E5=90=88=E6=BA=90=E7=A0=81.m?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blogs/Java/口水话/集合源码.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blogs/Java/口水话/集合源码.md b/blogs/Java/口水话/集合源码.md index 928b416..1ef201b 100644 --- a/blogs/Java/口水话/集合源码.md +++ b/blogs/Java/口水话/集合源码.md @@ -62,7 +62,7 @@ HashMap 非线程安全,如果需要满足线程安全,可以用 Collections 首先这个 Hashtable 的命名就有点离谱,没有遵循驼峰命名法。它的实现是通过一个 Entry 数组来做的,put/remove/get 都加了 synchronized,是线程安全的,它的取 index 是 (hash & 0x7FFFFFFF) % tab.length,前面和 0x7FFFFFF 是为了让 hash 值变为正数,那你可能会问,为啥不用 Math.abs 呢,其实在数值溢出时,abs 也是可能会得到负值的;HashMap 的可以只有一个 key 为 null,多个 value 为 null 的,而 Hashtable 是不允许 key/value 为 null 的,不然直接抛空指针。 -Hashtable 在扩容时,是 x2 + 1 的。 +Hashtable 在扩容时,是 x2 + 1 的。Hashtable 在处理 hash冲突时,是插入到链表的头部,即头插法。 #### TreeMap