![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
HashMap
我的风墙呢
喜欢漂亮的代码,喜欢算法,喜欢学习
展开
-
jdk源码——linkedList
从源码的定义中,我们可以看出linkedList是实现list接口和deque接口的双端链表public class LinkedList<E>extends AbstractSequentialList<E>implements List<E>, Deque<E>, Cloneable, java.io.Serializable...原创 2018-09-25 15:29:19 · 119 阅读 · 0 评论 -
jdk源码——ArrayList
ArrayList的初始化,我们可以指定大小也可以不指定大小,默认大小是10,public ArrayList(int initialCapacity) { super(); if (initialCapacity < 0) throw new IllegalArgumentException("Illegal Capacity:...原创 2018-09-17 15:24:25 · 112 阅读 · 0 评论 -
jdk源码——HashMap
JDK1.7从源码上看,HashMap 实现了Map接口 cloneable接口,和序列化接口public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable{HashMap的默认初始容量为16stat...原创 2018-09-25 21:12:22 · 177 阅读 · 0 评论 -
jdk源码——hashmap的1.8与1.7比较
1.8链表的定义基本上与1.7相同,但是类名改为Node,但是node实现了Map.Entry接口,实质是一样的static class Node<K,V> implements Map.Entry<K,V> {1.8的hash值的算法更加直观一点,就是key的hashcode与无符号右移16位的hashcode异或,然后返回。这是为了当length比较小的时...原创 2018-09-27 16:10:22 · 797 阅读 · 2 评论 -
jdk源码——ConcurrentHashMap——jdk1.7
首先做个分析:hashMap,hashTable,ConcurrentHashMap,这三者之间的区别,HashMap是线程不安全的,在多线程的环境下,hashMap的put方法可能引起死循环,于是为了线程安全,出现了hashTable,hashTable解决多线程安全的问题是简单粗暴的加synchronized关键字,但是这种方法引起效率低下,于是ConcurrentHashMap出现了,...原创 2018-09-28 14:13:51 · 295 阅读 · 0 评论 -
jdk源码——LinkedHashMap——jdk1.7
LinkedHashMap的定义public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V>{private transient Entry<K,V> header;//头结点 private final boolean ...原创 2018-09-28 17:03:49 · 632 阅读 · 0 评论