自己对源码兴趣挺大了,今天在工作任务完成业余时间,参照网上的资料,简单实现了自己的HashMap;也算是加深理解。
下面上代码:
1、先定义一个接口MyMap 可以参考JDK 的Map;接口有一个内部接口Entry;

2、MyHashMap 的具体实现,主要实现MyMap接口,Entry 接口;以及提供put get 的方法;
HashMap 的结构主要是一个Entry数组,而Entry数组的元素又是一个单链表;初始定义HashMap 的初始化大小和加载因子;

3、MyHashMap的构造方法:
无参的构造方法初始化默认大小的HashMap;

4、HashMap的Put方法:先在HashMap中通过K 的hash值进行判断是否存在这个值,存在就更新;不存在hash值得链表末尾追加;

5、参考JDK的hash算法 散列均匀;




网友评论