Map的底层结构
Map是以键值对 (Key-Value)来存储对象的,它的底层实际上由数组和链表来组成的;
使用put方法时,先查数组位置是否为对象,通过key.hashcode对数组长度取余;
存在,则把里面的链表拿出来,判断链表里面是否存在key值相互匹配的对象,
如果存在就将查到的key值对应的value替换,不存在则通过链表的add()方法直接加在链表后面;
当使用get方法时,先查找出数组位置是否存在对象,通过key.hashcode
对数组长度取余;
如果不存在,则返回为空,如果存在,则遍历链表,
判断链表里面是否存在key值与传递过来的key值一样的对象,存在,则把key值对应的value取出返回,不存在,则返回为空;