在本文中,将会实现一个简单的HashMap,模拟实现了put、get和到达扩容条件时自动扩容等功能。
1、Map<K,V>接口的定义
public interface Map<K, V> {
public V put(K k, V v);
public V get(K k);
public interface Entry<K, V> {
K getKey();
V getValue();
}
public int size();
}
2、使用MyHashMap实现Map<K, V>接口
2.1 MyHashMap的初始化参数
//数组的默认初始化长度
private static final int DEFAULT_INITAL_CAPACITY = 16;
//默认加载因子
private static final float DEFAULT_LOAD_FACTORY = 0.75f;
private int initalCapacity;
private float loadFactor;
//当前map中元素的个数
private int size = 0;
//数组引用
private Entry<K, V>[] table = null;
2.2 构造方法
public MyHashMap() {
this(DEFAULT_INITAL_CAPACITY, DEFAULT_LOAD