其他分享
首页 > 其他分享> > 2021-03-28

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。

Hashtable的Enumeration遍历
Hashtable的Iterator遍历
HashMap遍历

 

标签:containsKey,03,遍历,HashMap,28,Hashtable,null,方法,2021
来源: https://blog.csdn.net/qq_42251944/article/details/115278177