温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

HashMap和HashTable的不同点是什么

发布时间:2021-12-09 09:46:58 来源:亿速云 阅读:129 作者:柒染 栏目:大数据

HashMap和HashTable的不同点是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1 继承和实现方式不

HashMap继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。
Hashtable继承于Dictionary,实现了Map、Cloneable、java.io.Serializable接口。

2 线程安全不

Hashtable它是线程安全的,支持多线程。
而HashMap它不是线程安全的

3 null值的处理不同

HashMap的key、value都可以为null
Hashtable的key、value都不可以为null

4 支持的遍历种类不同

HashMap只支持Iterator(迭代器)遍历。
而Hashtable支持Iterator(迭代器)Enumeration(枚举器)两种方式遍历。

5 通过Iterator迭代器遍历时,遍历的顺序不同

HashMap是从前向后的遍历数组;再对数组具体某一项对应的链表,从表头开始进行遍历。
Hashtable是从后往前的遍历数组;再对数组具体某一项对应的链表,从表头开始进行遍历。

6 容量的初始值增加方式都不一样

HashMap默认的容量大小是16;增加容量时,每次将容量变为原始容量x2”
Hashtable默认的容量大小是11;增加容量时,每次将容量变为“原始容量x2 + 1”。

7 添加key-value时的hash值算法不同

HashMap添加元素时,是使用自定义的哈希算法。
Hashtable没有自定义哈希算法,而直接采用的keyhashCode()

8 部分API不同

Hashtable支持contains(Objectvalue)方法,而且重写了toString()方法
而HashMap不支持contains(Objectvalue)方法,没有重写toString()方法。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI