HashMap

HashMap 的实现原理

        HashMap  是基于 hashing 原理,我们通过 put() 和 get() 方法存储和获取对象。当我们将键值对传递给 put 方法时,它调用键对象的 hashCode() 方法来计算 hashCode , 然后找到 bucket 位置来储存值对象。当获取对象时,通过键对象的 equals() 方法找到正确的键值对。然后返回值对象。

        HashMap 使用链表来解决哈希冲突问题,当哈希冲突发生了,对象将会储存在链表的下一个节点中,HashMap 在每个链表节点当中储存键值对象。

        HashMap 的底层主要是基于数组和链表来实现,它之所以有相当快的查询速度是因为它是通过计算散列码来决定存储的位置。HashMap 中主要是通过 hashCode 来计算 hash 值的,只要 hashCode 相同,计算出来的 hash 值就一样。

HashMap  的底层数据结构

HashMap  底层数据结构

你可能感兴趣的:(HashMap)