标签:ash 键值对 链表 equals obj entry map 变量 val
HashMap是最快的数据结构。
根据key直接算出它的下标位置。
map是查找表。
1.put方法
2.对键值k进行散列算法
就是k.hashcode()。
HashMap可能会出现的问题
在put的时候
两个键的hashcode()的值是一样的。
键值对就是Entry
Entry:有三个变量
key
value
Entry.next记录下一个元素是谁。
出现链表是会降低查询效率。
如果使用java提供的类作为Key,不同对象不会出现相同hashCode()。
hashcode和equals都是object的方法。在重写equals时也要重写hashcode()
在Object定义的时候,hashcode和equals是满足hashmap的使用规则的。
标签:ash 键值对 链表 equals obj entry map 变量 val
原文地址:https://www.cnblogs.com/liaoxiaolao/p/9634070.html