为了加深对于HashMap的理解,可以手写HashMap理解底层操作原理 我们知道HashMap在jdk1.8之后使用了数组 + 链表 + 红黑树的结构,那么在自己实现HashMap的时候需要注意这一点;我将手动实现HashMap的节点、get()、put()方法 通过 key 进行hash运算,得到 index 判断 index 是否为空,为空则返回 null 不为空,则判断传入的当前节点是否有 next ,为链表还是红黑树,遍历链表或红黑树返回值 求出 key 的哈希值,得到 index,并得到 index 对应的对象 如果 index 的对象为空,则直接赋值 如果当前 index 的对象不为空,则使用链表存储 先自定义一个Map接口 public interface MyMap<K, V>{ int size(); V put(K k, V v); V get(K k); V remove(K k); interface Entry(K, V){ K getKey(); V getValue(); } } 自定义一个Entry class Entry<K, V>...