2021-03-28

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。

2021-03-28
Hashtable的Enumeration遍历
2021-03-28
Hashtable的Iterator遍历
2021-03-28
HashMap遍历

 

上一篇:java.net.UnknownHostException


下一篇:SpringDataRedis java.net.UnknownHostException: 127.0.0.1 错误