HashMap和Hashtable的区别
1、Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类。两者都实现了Map接口。
2、Hashtable中的方法是Synchronized,而HashMap方法正常情况下不是Synchronized。
3、HashMap去掉了Hashtable的contanins方法,改成了containsKey方法()和containsValue()方法。Hashtanle保留 了contsins,containsValue和containsKey这三个方法。
4、Hashtable中,key和value都不允许出现null。HashMap中键可以为null,但这样的键只能有一个。Hashtable执行put(null,null) 操作时,会出现NullPointerException异常。
5、HashMap使用调用get()方法返回null时,可能是HashMap中没有该键,也可能是该键对应的值为null。因此,不能使用get()方法来判 断HashMap中是否有某个Key,应该使用containsKey()方法来判断。
6、遍历HashMap和Hashtable都使用了Iterator,而Hashtable还使用了Enumeration。