手写HashMap

根据自己对hashMap的理解,基于数组加链表实现了一个HashMap。

下面给出源码:https://github.com/XiaoheXu/hotchpotch/blob/master/src/main/java/com/chris/java/collections/HashMap.java

单元测试源码:https://github.com/XiaoheXu/hotchpotch/blob/master/src/test/java/com/chris/java/collections/HashMapTest.java

主要思路是以数组作为桶,当产生hash冲突后再冲突的节点上使用链表。主要涉及到的逻辑内部数组的动态扩展,在链表中添加一个节点,在链表中移除一个节点。

posted @ 2018-08-08 13:38  arax  阅读(197)  评论(0编辑  收藏  举报