您的位置:首页 > 其它

容器第六课,自定义Map的功能,底层源码

2015-03-16 14:57 225 查看
package com.pkushutong.Collection;

/**
* 自定义实现Map的功能
* Map:存放键值对,根据键对象找对应的值对象,键不能重复
*/
public class Test05 {

SxtEntry[] arr = new SxtEntry[100];

int size;

public void put(Object Key, Object value){
SxtEntry e = new SxtEntry(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 boolean containsValue(Object value){
for (int i = 0; i < size; i++) {
if(arr[i].value.equals(value)){
return true;
}
}
return false;
}

public static void main(String[] args) {
Test05 map = new Test05();
map.put("李四", new wife("花花"));
map.put("李四", new wife("蕾蕾"));
wife w = (wife) map.get("李四");
System.out.println(w.name);
}

}

class SxtEntry{
Object Key;
Object value;

public SxtEntry(Object key, Object value) {
super();
Key = key;
this.value = value;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: