手写HashMap底层(源码)
底层结构: 在手写HashMap的时候,需要首先弄清楚HashMap底层结构实现原理。HashMap底层采用哈希表实现,其中哈希表相当于“数组+链表”的结构。其结构示意图如下: 采用哈希表实现HashMap的时候,需要首先弄清楚其存储流程。首先创建Entry节点的结构,并且创建指定长度的数组;其次根据哈希函数计算的哈希值确定节点在数组中的存储位置,最后判断数组指定位置是否已有其他节点,并在链表的尾部添加新的节点。其存储流程示意图如下: 源码: Entry类: package cn.csu.hashmap; public class Entry { private int hash; private Object key; private Object value; private Entry next; public Entry() { } public Entry(int hash, Object key, Object value, Entry next) { super(); this.hash = hash; this.key = key; this.value = value; this.next = next; } public int getHash() { return hash; } public void setHash(int hash) { this