懒得写
一、创建一个接口
/** * 获取这个key值的value * @param key * @return */ V get(Object key); /** * 存储 * @param key * @return */ void put(Object key, Object value);
二、写一个类实现接口
代码如下(示例):
private int maxSize;// 栈大小 private String[][] stack;// 栈二为数组,数据存放在该数组 private int top = -1;// top表示栈顶,初始化为-1
public HashMap(int maxSize){// 有参构造方法 this.maxSize = maxSize; stack = new String[maxSize][2]; } public HashMap(){// 无参构造方法 this.maxSize = 3;// 初始化2个长度 stack = new String[this.maxSize][2]; }
//isValueNull是自定义的不等于null @Override public String get(Object key) { if (isValueNull(key)){ return "key 不能为null!!!"; } String str = null; // 根据key 获取 value for (int i = 0 ; i < maxSize; i++) { str = stack[i][0]; if (isValueNotNull(str)){ if (str.equals(key)){ str = stack[i][1]; top--; break; } } } return str; }
@Override public void put(Object key, Object value) { if (isFull()){ System.out.println("满了 放不下了"); return; } // 根据key 获取 value for (int i = 0 ; i < maxSize; i++) { String str = stack[i][0]; if (isValueNotNull(str)){ if (str.equals(key)){ System.out.println("key = "+key+" value = "+value+" 已存在!!!"); break; } } } top ++; stack[top][0] = (String) key; stack[top][1] = (String) value; }
// 栈满 public boolean isFull(){ return top == maxSize - 1; }
// 遍历
public void traverseHashMap() { if (top > -1){ for (int i = -1 ; i <= top + 1 ; i++){ if (isValueNotNull(stack[i + 1][0])){ System.out.printf("key=%s value=%s",stack[i + 1][0],stack[i + 1][1]); top--; System.out.println(); } } } }