
HashMap
insomsia
这个作者很懒,什么都没留下…
展开
-
HashMap在JDK1.7版本头插法实现解析
关于HashMap,不论是JDK1.7版本还是1.8版本的分析文章网上多如牛毛,今天咱虽然也是聊HashMap,但是稍微有点不同,是聊它在JDK1.7版本put元素时头插法的实现。不说废话了,直接上源码,先聊JDK1.7的元素插入:public V put(K key, V value) { if (table == EMPTY_TABLE) { inflateTabl...原创 2019-03-09 16:06:54 · 6564 阅读 · 0 评论 -
HashMap在JDK1.8版本尾插法实现解析
前面聊了HashMap在JDK1.7版本的头插法实现,现在聊HashMap到了JDK1.8版本升级之后的变化。先上代码:public V put(K key, V value) { return putVal(hash(key), key, value, false, true);}平时java代码都是调的这个方法,实际实现是putVal(hash(key), key, valu...原创 2019-03-09 18:40:29 · 8501 阅读 · 0 评论 -
HashMap在JDK1.8如何确定初始化容量
DDpublic HashMap(int initialCapacity, float loadFactor) { if (initialCapacity < 0) throw new IllegalArgumentException("Illegal initial capacity: " +原创 2019-03-14 18:18:32 · 2751 阅读 · 0 评论 -
你知道HashMap的put方法返回值是啥吗
public V put(K key, V value) { if (table == EMPTY_TABLE) { inflateTable(threshold); } if (key == null) return putForNullKey(value); int hash = hash(key); int i = in...原创 2019-06-10 11:25:08 · 853 阅读 · 0 评论 -
HashMap的链表成环演示
public class HashMapTest { Map<String, String>map = new HashMap<String, String>(4); CountDownLatch countDownLatch = new CountDownLatch(2); @Test public void test() throws I...原创 2019-06-27 17:27:43 · 3077 阅读 · 2 评论