温馨提示×

温馨提示×

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

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

Java中的Hashtable为什么要小写而不是驼峰命名

发布时间:2021-11-20 15:39:25 来源:亿速云 阅读:262 作者:柒染 栏目:云计算

这期内容当中小编将会给大家带来有关Java中的Hashtable为什么要小写而不是驼峰命名,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

Hashtable 和 HashMap 是面试中必问的两个数据结构知识点。今天我们就一起来谈谈 Hashtable!

在开始之前,我先来问一个问题,Hashtable 中的 T 为什么不是大写。我百度谷歌了很久都没有合理的答案!根据国外网友的评论得知,Hashtable 之所以没有遵循驼峰命令是因为当初的程序员书写时产生的 bug,后来虽然 sun 注意到了这个问题。但是考虑到历史兼容性问题,就选择了保持原状!

Java中的Hashtable为什么要小写而不是驼峰命名

说起 Hashtable 大家能谈到的几点,无非下面几点:

相比 HashMap,Hashtable 是线程安全的。因为 Hashtable 的几个重要方法都加上了 synchronized 关键字。


Hashtable 的 key、value 都不可以为 null。HashMap 最多只允许一条记录的键为 null,允许多条记录的值为 null。


Hashtable 承自 Dictionary 类,HashMap 继承自 AbstractMap 类。


Hashtable 已被淘汰,可以使用 ConcurrentHashMap 替代,这一点可以在 Hashtable 源码中的注释说明中找出。


Hashtable、HashMap 都使用了 Iterator。而由于历史原因,Hashtable 还使用了 Enumeration 的方式。


Hashtable 直接使用对象的 hashCode。而 HashMap 重新计算 hash 值。 


HashTable 中的 hash 数组初始大小是 11,增加的方式是 old*2+1。HashMap 中 hash 数组的默认大小是 16,而且一定是 2 的指数。


HashMap 有 containsvalue 和 containsKey 两个方法,Hashtable 使用的是 contains 方法。

HashMap 实现大多都是相同的,也没什么可以说的。 可以看作是 Hashtable 的轻量级实现。由于 Hashtable 和 HashMap 实现大多都是相同的,也没什么可以说的。另外 Hashtable 也不在被推荐使用了,所以我建议大家不要在使用它,改用 ConcurrentHashMap。

上述就是小编为大家分享的Java中的Hashtable为什么要小写而不是驼峰命名了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

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

AI