HashTable 与HashMap的区别

2014-11-23 23:23:03 · 作者: · 浏览: 5

1) HashTable 与HashMap实现的是不同的接口


HashTable 是Dictionary的子类


HashMap 是Map接口的子类


2)HashTable的键值都不允许为空,HashMap的键值只允许其中一个为空。


3)HashTable 是多线程安全的


HashMap 是非线程安全的
Hashtable table = new Hashtable();


table.put(new Citizen(“6323″),”1″);


table.put(new Citizen(“4321″),”2″);


table.put(new Citizen(“5678″),”3″);


Enumeration enu = table.keys();


while(enu.hasMoreElements()){


Citizen key = (Citizen)enu.nextElement();


String value = (String)table.get(key);


System.out.println(key + “———-” + value);


}


HashMap table1= new HashMap ();


table1.put(null,”2″);


table1.put(null,”1″);


table1.put(new Citizen(“5678″),”3″);


Iterator iter = table.keySet().iterator();


while(iter.hasNext()){


Citizen key = (Citizen)iter.next();


String value = (String)table.get(key);


System.out.println(key + “———–>” + value);


}