Hashtable
Hashtable不仅可以动态存储一系列的对象,而且对存储的每一个对象(值)都要安排另一个对象(关键字)与之相关联。
向Hashtable中存储值的方法:
Hashtable no=new Hashtable();
no.put(关键字(not null not iterance),值(not null));
no.put("one",new Integer(1));
no.put("two",new Integer(2));
从Hashtable中检索出值
nteber n=(Integer)no.get("two");
if(n!=null)
{
System.out.println("two="+n);
}
实例:
package test;
public class MyKey {
private String name=null;
private int age=0;
public MyKey(String name, int age) {
this.name=name;
this.age=age;
}
//由get调用
public boolean equals(Object obj)
{
if(obj instanceof MyKey)
{
MyKey objTemp=(MyKey)obj;
if(name.equals(objTemp.name)&&age==objTemp.age)
{
return true;
}
else
return false;
}
else
return false;
}
public int hashCode()
{
return name.hashCode()+age;
}
public String toString()
{
return name+"||"+age;
}
}
package test;
import java.util.Enumeration;
import java.util.Hashtable;
public class Hashtabletest {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
Hashtable numbers =new Hashtable();
numbers.put(new MyKey("zhangsan",18),new Integer(1));
numbers.put(new MyKey("lisi",15), new Integer(2));
numbers.put(new MyKey("wangwu",12), new Integer(3));
Enumeration e= numbers.keys();
while(e.hasMoreElements())
{
MyKey key=(MyKey)e.nextElement();
System.out.print(key+"=");
System.out.println(numbers.get(key));
}
System.out.print(numbers.get(new MyKey("zhangsan",18)));
}
}
转载于:https://blog.51cto.com/19891121/559000