一、map接口中定义了map的基本操做,同时也对key--value的形式作了定义:在接口map中定义了一个内部接口entry,实现类能够经过实现此接口实现对key--value的封装 java
二、关于public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>的我的理解 函数
接口定义了一个类的类型,hashmap实现了map接口表示其是一个map类型的实现类,这个类型是不受其余类的影响而改变的;若是hashmap不实现map接口,虽然AbstractMap也实现了map接口,此时hashmap类型的定义是经过继承AbstractMap表示的,依赖于AbstractMap,若是AbstractMap的类型改变了hashmap的类型也会随之改变。 继承
三、HashMap定义了静态内部类Entry,将key-value以及hash桶的概念封装在了一块儿。在HashMap中,用一个table链表存储hash桶,每一个位置表示一个hash码,其值是一个entry,将相同hash码的entry付给其next的值;在查询的时候只有其hash码相同了,才有可能查到其值 接口
四、hashmap实现了Serializable,同时定义了transient的数据域,所以重写了private void writeObject(java.io.ObjectOutputStream s)和 private void readObject(java.io.ObjectInputStream s) hash
五、函数不是随便拆分,将有独立意义的操做拆分出来 it