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());
}
}
}