Java容器---MyMap01
程序员文章站
2024-01-15 13:13:04
...
使用数组简单实现Map存放键值对的功能,待优化
1.创建Entry对象,存放键值对对象
/**
* 存放键值对对象
* @author Administrator
*
*/
public class Entry {
Object Key;
Object Value;
public Entry(Object key, Object value) {
super();
Key = key;
Value = value;
}
}
2.使用数组实现Map/**
* 编程实现Map功能
* 存放键值对,根据键对象寻找对应的值对象,键不能重复
* 简单实现Map功能
* @author Administrator
*
*/
public class MyMap01 {
Entry[] arr = new Entry[1000];
int size;
public void put(Object key,Object value){
Entry e = new Entry(key, value);
//解决键重复的问题,后面的值覆盖前面的值
for (int i = 0; i < size; i++) {
if (arr[i].Key.equals(key)) {
arr[i].Value = value;
//跳出方法
return;
}
}
arr[size++] = e;
}
public Object get(Object key){
for (int i = 0; i < size; i++) {
if (arr[i].Key.equals(key)) {
return arr[i].Value;
}
}
return null;
}
public boolean containsKey(Object key){
for (int i = 0; i < size; i++) {
if (arr[i].Key.equals(key)) {
return true;
}
}
return false;
}
public static void main(String[] args) {
MyMap01 map = new MyMap01();
map.put("aaa", "111");
map.put("bbb", "222");
map.put("ccc", "333");
System.out.println(map.get("aaa"));
}
}