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

这期内容当中小编将会给大家带来有关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为什么要小写而不是驼峰命名了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


本文标题:Java中的Hashtable为什么要小写而不是驼峰命名
分享链接:http://pwwzsj.com/article/gppjgh.html