Java之Map實現初級版
阿新 • • 發佈:2018-11-17
package learn.java.cn.collection; public class MyMap { int size=0; DefMap [] defMap=new DefMap[999]; public void put(Object key,Object value) { //判斷是否健值 相等,若是相等,則替換 for(int i=0; i<=size;i++) { if (defMap[i]!=null && defMap[i].key.equals(key)) { defMap[i].value=value; return ; } } defMap[size++]=new DefMap(key,value); } public Object get (Object key) { for(int i=0;i<size;i++) { if (defMap[i].key.equals(key)) return defMap[i].value; } return null; } public DefMap [] remove(Object key) { for(int i=0;i<size;i++) { if (defMap[i].key.equals(key)) { for (;i<=size-2;i++) { defMap[i]=defMap[i+1]; } defMap[size-1]=null; return defMap; } } return null; } public int size() { int i; for ( i=0;i<size;i++) { if (defMap[i]==null) break; } return i; } public static void main(String args[]) { MyMap Map=new MyMap(); Map.put("王尚權", "小靜"); Map.put("目中", "楊冪"); // Map.put("王尚權", "趙麗穎"); Map.put("張山","李四"); System.out.println(Map.get("王尚權")); System.out.println(Map.get(new String("王尚權")));//新建不同的物件, //但是equals()比較的是內容返回的是一致的 // System.out.println(Map.defMap[1].value); System.out.println(Map.get("張山")); System.out.println(Map.size()); Map.remove("王尚權"); System.out.println(Map.defMap[0].value); System.out.println(Map.size()); } } class DefMap { Object key; Object value; public DefMap(Object key,Object value) { this.key=key; this.value=value; } }