HashMap主要用于存储键值对,是最常用的java集合之一。
Map<String,Object> map = new HashMap<>();
HashMap在JDK1.7和JDK1.8的实现是不一样的。
JDK1.7中的HashMap实现:
数据结构:数组+链表
Map<String,String> map = new HashMap<>(5);
map.put("name","heidan");
map.put("age","21");
使用数组+链表解释一下上面的代码:
1、初始化一个容量为5的数组:
hashMap的key和value都可以是null,但key唯一,value的值可以是重复的。
2、往数组中添加第一个键值对:map.put("name","heidan");
首先根据key,也就是"name",通过hash(Object key)方法计算出key的hash值:源码如下: