package en.hjw.test;public class MyMap {
MyEntry[] arr = new MyEntry[200];
int size;
public void put(Object key, Object value){
MyEntry e = new MyEntry(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) {
MyMap m = new MyMap();
m.put("小李", new Wife1("小花"));
m.put("张三", new Wife1("李四"));
Wife1 w = (Wife1) m.get("小李");
System.out.println(m.containsKey("张三"));
System.out.println(m.containsValue("李四"));//为什么会返回false??????
System.out.println(w.name);
}
}class MyEntry{
Object key;
Object value;
public MyEntry(Object key, Object value) {
super();
this.key = key;
this.value = value;
}
}class Wife1{
String name;
public Wife1(String name){
this.name = name;
}
}
MyEntry[] arr = new MyEntry[200];
int size;
public void put(Object key, Object value){
MyEntry e = new MyEntry(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) {
MyMap m = new MyMap();
m.put("小李", new Wife1("小花"));
m.put("张三", new Wife1("李四"));
Wife1 w = (Wife1) m.get("小李");
System.out.println(m.containsKey("张三"));
System.out.println(m.containsValue("李四"));//为什么会返回false??????
System.out.println(w.name);
}
}class MyEntry{
Object key;
Object value;
public MyEntry(Object key, Object value) {
super();
this.key = key;
this.value = value;
}
}class Wife1{
String name;
public Wife1(String name){
this.name = name;
}
}
String name; @Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
} @Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Wife1 other = (Wife1) obj;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
} public Wife1(String name){
this.name = name;
}
}