public class NewMyMap {
LinkedList[] arr = new LinkedList[999];
/**
* 添加对象
* @param key
* @param value
*/
public void add(Object key,Object value) {
int keypos = key.hashCode()%arr.length;//key对象的位置
SetObjtwo obj = new SetObjtwo(key,value);
LinkedList list = new LinkedList();
if(arr[keypos]==null) {
arr[keypos]=list;
list.add(obj);
}else {
for(int i=0;i<arr[keypos].size();i++) {
SetObjtwo e2 =(SetObjtwo)(arr[keypos].get(i));
if(e2.getKey().equals(key)) {
e2.setValue(value);
return;
}
}
arr[keypos].add(obj);
}
}
/**
* 获取键-值
* @param args
*/
public Object get(Object key) {
int keypos = key.hashCode()%arr.length;
for(int i=0;i<arr[keypos].size();i++) {
SetObjtwo e =(SetObjtwo)(arr[keypos].get(i));
if(e.getKey().equals(key)) {
return e.getValue();
}
}
return null;
}
public static void main(String[] args) {
NewMyMap map = new NewMyMap();
map.add("张三", new Animaltwo("老虎"));
map.add("张三", new Animaltwo("狮子"));
Animaltwo test =(Animaltwo)map.get("张三");
System.out.println(test.getName());
}
}
class SetObjtwo{
private Object key;
private Object value;
public SetObjtwo(Object key,Object value) {
this.key = key;
this.value = value;
}
public void setKey(Object key) {
this.key = key;
}
public Object getKey() {
return key;
}
public void setValue(Object value) {
this.value = value;
}
public Object getValue() {
return value;
}
}
/**
* 测试类
* @author ChenWenKen
*
*/
class Animaltwo{
private String name;
public Animaltwo(String name) {
this.name=name;
}
public String getName() {
return name;
}
}