哈希表(HashMap)

Q.哈希表的实现方法?

数组:寻址容易,插入和删除元素困难

链表:寻址困难,插入和删除元素容易

哈希表=数组+链表(拉链法,如下图)

Q.如何插入键值对?

X=>f(X)=>Y>=Y%Array.length=>Array position of X

一个整数 X 经过哈希函数 f(X)之后,得到一个哈希值 Y,用 Y 对数组的长度取模,就能得到X该存放的位置

这里的X是key值

Q.哈希函数

哈希函数能快速将一个值转化为哈希值(整数)

哈希值冲突:两个不同的输入得到相同的哈希值

Q.哈希表支持的操作?

add(Key key,Value value):将一对新的键值对加入哈希表

get(K key):通过特定的key值拿到所对应的value值

remove(Key key):通过关键字,删除哈希表中的键值对

getSize():当前键值对的数量

isEmpty():查看哈希表是否为空

 

posted @ 2020-07-08 23:08  董不耀  阅读(203)  评论(0编辑  收藏  举报