Map集合的关联数组实现
public class AssoiativeArray<K,V>{ //创建一个二维数组 private Object[][] pairs; //声明索引 private int index; //确定二维数组含的一维数组的个数 public AssociativeArray(int length){ pairs = new Object[length][]; } public void put(K key,V value){ if(index >= pairs.length)throw new ArraryIndexOutOfBoundException(); //给二维数组赋值 pairs[index++] = new Object[]{key,value}; } @SuppressWarnings("unchecked") public V get(K key){ for(int i = 0; i < index; i++){ if(key.equals(pairs[i][0])) return (V)pairs[i][1]; return null } } }
键值对的个数(二维数组的长度)必须确定,长度不可变。