HashMap是基于hashing原理,HashMap主要有两个方法get()和put().
get()方法主要是用来获取对象,他通过equals()方法来找到正确的键值对,来返回获取对象。
put()方法主要是用来存储对象的,他通过HashCode()方法来计算对象的hashcode值,然后知道他的bucket存储位置,进行存储。当两个不同的键对象的hashcode相同时,它们会储存在同一个bucket位置的链表中。
碰撞问题呢HashMap是用链表 这一方法来解决的,当发生了碰撞后,对象会被储存在链表的下一个节点中。 HashMap在每个链表节点中储存键值对对象。
网友评论