java自己实现的简单map

来源:互联网 发布:淘宝那家动漫海报好 编辑:程序博客网 时间:2024/05/14 17:08
package my.map;


public class MyMap {
    Entry[]array;
    intsize;
    
    publicMyMap() {
      this(10);
    }
    
    publicMyMap(int initLength) {
      array = new Entry[initLength];
    }
    
    publicboolean isEmpty() {
      return size == 0;
    }
    
    publicEntry[] expandLength(Entry[] array) {
      Entry[] newArray = new Entry[array.length * 2 +1];
      for(int i=0; i
         newArray[i] = array[i];
      }
      return newArray;
    }
    
    publicboolean put(Object key,Object value) {
      if(size == array.length) {
         array = expandLength(array);
      }
      for(int i=0; i
         if(array[i].key.equals(key)) {
            array[i].value = value;
            return true;
         }
      }
      array[size] = new Entry(key, value);
      size++;
      return true;
    }
    
    publicObject get(Object key) {
      if (size != 0) {
         for (int i = 0; i < size; i++) {
            if (array[i].key.equals(key)) {
               return array[i].value;
            }
         }
      }
      return null;
    }
    
    publicboolean containsKey(Object key) {
      for(int i=0; i
         if(array[i].key.equals(key)) {
            return true;
         }
      }
      return false;
    }
    
    publicboolean containsValue(Object value) {
      for(int i=0; i
         if(array[i].value.equals(value)) {
            return true;
         }
      }
      return false;
    }
    public voidclear() {
      Entry[] newArray = new Entry[array.length];
      array = newArray;
      size = 0;
    }
}

class Entry {
    Objectkey;
    Objectvalue;
    
    publicEntry(Object key, Object value) {
      this.key = key;
      this.value = value;
    }
}
原创粉丝点击