package com.scxh.ex12testMap.myEntry;
public class MyEntry {
private Object key;
private Object value;
public Object getKey() {
return key;
}
public void setKey(Object key) {
this.key = key;
}
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
}
package com.scxh.ex12testMap.myEntry;
public class MyMap {
private MyEntry[] entry;
private int size;//元素的个数
MyMap(){
entry=new MyEntry[10];
}
public void put(Object key,Object value){
boolean flag=false;
for(int i=0;i<size;i++){ //遍历
MyEntry myEntry=entry[i]; //
if(key.equals(myEntry.getKey())){//如果数组中存在相同的key
flag=true; //令flag等于true
entry[i].setValue(value); //令该位置处的值为传入的值(覆盖)ֵ
break;
}
}
if(!flag){ //如果flag为false,就令节点数组的size下标处的key和value
MyEntry my=new MyEntry(); //值为传入的key和value,并令size++
my.setKey(key);
my.setValue(value);
entry[size]=my;
size++;
}
}
public int size(){
return size;
}
public MyEntry get(int index){
return entry[index];
}
public static void main(String[] args) {
MyMap map=new MyMap();
map.put("1", "11");
map.put("2", "22");
map.put("3", "33");
map.put("4", "44");
map.put("4", "55");
for(int i=0;i<map.size();i++){
MyEntry entry=map.get(i);
System.out.println(entry.getKey()+"---"+entry.getValue());
}
}
}