使用數組簡單實現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"));
}
}