谁能帮我修改下面的代码,达到:
使用Mykey类作为关键字类,从Hashtable中取出所有关键字的集合和取出所有值的集合?(我用的是JDK5.0.9,要考虑到泛型.) import java.util.*; class Mykey
{
private String name;
private int age;
public Mykey(String name,int age)
{
this.name=name;
this.age=age;
}
public String toString()
{
return new String(name+","+age);
}
public boolean equals(Object obj)
{
if(name.equals(obj.name) && age==obj.age)
return true;
else
return false;
}
public int hashCode()
{
return name.hashCode()+age;
}
} public class HashtableTest
{
public static void main(String []args)
{
Hashtable<Integer,String> numbers=new Hashtable<Integer,String>();
numbers.put(new Mykey("zhang san",18),new Integer(11));
numbers.put(new Mykey("lisi",15),new Integer(22));
numbers.put(new Mykey("wangwu",12),new Integer(33));
Enumeration e=numbers.keys();
while(e.hasMoreElements())
{
Mykey key=(Mykey)e.nextElement();
System.out.println(key.toString()+"=");
System.out.println(numbers.get(key).toString());
}
}
}
使用Mykey类作为关键字类,从Hashtable中取出所有关键字的集合和取出所有值的集合?(我用的是JDK5.0.9,要考虑到泛型.) import java.util.*; class Mykey
{
private String name;
private int age;
public Mykey(String name,int age)
{
this.name=name;
this.age=age;
}
public String toString()
{
return new String(name+","+age);
}
public boolean equals(Object obj)
{
if(name.equals(obj.name) && age==obj.age)
return true;
else
return false;
}
public int hashCode()
{
return name.hashCode()+age;
}
} public class HashtableTest
{
public static void main(String []args)
{
Hashtable<Integer,String> numbers=new Hashtable<Integer,String>();
numbers.put(new Mykey("zhang san",18),new Integer(11));
numbers.put(new Mykey("lisi",15),new Integer(22));
numbers.put(new Mykey("wangwu",12),new Integer(33));
Enumeration e=numbers.keys();
while(e.hasMoreElements())
{
Mykey key=(Mykey)e.nextElement();
System.out.println(key.toString()+"=");
System.out.println(numbers.get(key).toString());
}
}
}
{
private String name;
private int age;
public Mykey(String name,int age)
{
this.name=name;
this.age=age;
}
public String toString()
{
return new String(name+","+age);
}
public boolean equals(Mykey obj)
{
if(name.equals(obj.name) && age==obj.age)
return true;
else
return false;
}
public int hashCode()
{
return name.hashCode()+age;
}
} public class HashtableTest
{
public static void main(String []args)
{
Hashtable<Mykey,Integer> numbers=new Hashtable<Mykey,Integer>();
numbers.put(new Mykey("zhang san",18),new Integer(11));
numbers.put(new Mykey("lisi",15),new Integer(22));
numbers.put(new Mykey("wangwu",12),new Integer(33));
Enumeration e=numbers.keys();
while(e.hasMoreElements())
{
Mykey key=(Mykey)e.nextElement();
System.out.println(key.toString()+"=");
System.out.println(numbers.get(key).toString());
}
}
}
lisi,15=
22
zhang san,18=
11
wangwu,12=
33
{
public String name;
public int age;
public MyKey()
{
}
public MyKey(String name ,int age)
{
this.name = name;
this.age = age;
}
public int hashCode()
{
return name.hashCode() + age;
}
public boolean equals(Object s)
{
if(name == (((MyKey)s).name) && age == (((MyKey)s).age) )
return true;
else
return false;
}
public String toString()
{
return new String(name + "," + age);
}
public static void main(String[] args)
{
HashMap map = new HashMap();
map.put(new MyKey("zhang" ,18) ,new Integer(90));
map.put(new MyKey("lisi" ,22) ,new Integer(100));
Iterator it = map.keySet().iterator();
while(it.hasNext())
{
MyKey key= (MyKey)it.next();
System.out.println(key.name + " " + key.age + " " +map.get(key));
}
}
{
public String name;
public int age;
public MyKey()
{
}
public MyKey(String name ,int age)
{
this.name = name;
this.age = age;
}
public int hashCode()
{
return name.hashCode() + age;
}
public boolean equals(Object s)
{
if(name.equals(((MyKey)s).name) && age == (((MyKey)s).age) )
return true;
else
return false;
}
public String toString()
{
return new String(name + "," + age);
}
public static void main(String[] args)
{
HashMap map = new HashMap();
map.put(new MyKey("zhang" ,18) ,new Integer(90));
map.put(new MyKey("lisi" ,22) ,new Integer(100));
Iterator it = map.keySet().iterator();
while(it.hasNext())
{
MyKey key= (MyKey)it.next();
System.out.println(key.name + " " + key.age + " " +map.get(key));
}
}
}
我也晕了
public boolean equals(Mykey obj)
没有重写方法 public boolean equals(Object obj)
会不会有问题