对HashMap的初步理解

一、HashMap
1)用来存储key-value键值对的一种结构
2)底层由数组+链表实现
二、Hash和Map的理解
1)哈希hash
哈希算法也叫散列算法,就是把任意长度值(key)通过散列算法变换成固定长度的key地址,通过这个地址进行访问的数据结构。
它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。
映射函数叫做散列函数,存放记录的数组称为散列表。
2)如图所示:
将关键字映射到buckets中的某个下标,如John Smith映射到了数组中152的位置;
在buckets数组中,每一个元素存放着一个链表头结点的地址;
当多个key被映射到同一个数组下标时,实际上就相当于在一条链表中不断插入新的结点,链表也随之越来越长。

对HashMap的初步理解