1、继承不同。

public class Hashtable extends Dictionary implements Map

public class HashMap extends AbstractMap implements Map

2、Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的环境下,可以直接使用Hashtable,但是要使用HashMap的话就要自己增加同步处理了。

3、Hashtable中,key和value都不允许出现null值。

在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示 HashMap中没有该键,也可以表示该键所对应的值为null。

因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键, 而应该用containsKey()方法来判断。

4、两个遍历方式的内部实现上不同。

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

5、哈希值的使用不同,HashTable直接使用对象的hashCode。而HashMap重新计算hash值。

6、Hashtable和HashMap它们两个内部实现方式的数组的初始大小和扩容的方式。HashTable中hash数组默认大小是11,增加的方式是 old*2+1。HashMap中hash数组的默认大小是16,而且一定是2的指数

转载于:https://www.cnblogs.com/lbloveab/p/7275740.html

hashMap与hashTable区别相关推荐

  1. HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别(转)

    HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别 文章来源:http://www.cnblogs.com/beatIteWeNerverGiveU ...

  2. Hashtable、HashMap 与 HashTable区别、HashMap、Hashtable和TreeMap、 LinkedHashMap

    目录 Hashtable的函数都是同步的 HashMap 与 HashTable区别 HashMap.Hashtable和TreeMap LinkedHashMap 特殊新增的构造器 TreeMap ...

  3. HashMap 和 HashTable 区别

    来源:http://www.importnew.com/7010.html HashMap和Hashtable的区别 HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚 ...

  4. HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别

    Hash算法 Hash,一般翻译做"散列",也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的 ...

  5. 一个古老的问题HashMap与Hashtable区别

    HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable.可能你觉得HashTable很好用,为什么不用呢? ...

  6. HashMap 和HashTable区别和实现原理。

    区别:1HashTable线程安全,Map不安全. 2.HashTable比Map慢很多,所以基本淘汰了. 3.HashTable是数组 , HashMap 是数组+链表 4.HashTable 容量 ...

  7. HashMap和HashTable区别

    相同点:都实现了Map接口 不同点: 1.HashMap允许键和值为null,HashTable不允许键或值为null 2.HashTable是同步的,而HashMap不是,故HashMap更适合单线 ...

  8. HashMap、HashTable、ConcurrentHashMap、HashSet区别 线程安全类

    HashMap专题:HashMap的实现原理--链表散列 HashTable专题:Hashtable数据存储结构-遍历规则,Hash类型的复杂度为啥都是O(1)-源码分析 Hash,Tree数据结构时 ...

  9. 一文读懂JDK7,8,JD9的HashMap,HashTable,ConcurrentHashMap及他们的区别

    内容和标题一样长哦,人家写了好久的.如无特别指明,内容对应的源码是jdk1.7(后面会和1.8对比) 1:hashmap简介(如下,数组-链表形式) HashMap的存储结构 图中,紫色部分即代表哈希 ...

最新文章

  1. 【NLP】基于预训练的中文NLP工具介绍:ltp 和 fastHan
  2. TCP三次握手四次断开(图解)
  3. 前端学习(1920)vue之电商管理系统电商系统之角色列表路由的切换
  4. python 比赛成绩预测_大数据新研究:用六个月的跑步记录准确预测马拉松完赛成绩...
  5. IT公司老板落水,各部门员工怎么救??
  6. OpenCV4每日一练day5:图像读取、显示与保存
  7. Ajax技术复习---狂神笔记
  8. android dlna 小米电视盒子,小米电视DLNA投屏到电视步骤详解
  9. Android Studio 中 gradle 下载失败的解决办法
  10. 三通道HART / Modbus网关HTM-631
  11. AdventureWorks2008R2安装过程可能会遇到的一些问题及解决方案
  12. 常用关于验证的正则表达式(EMai,Website,Money,Mobile)
  13. 评估电源质量20M带宽限制的问题
  14. 解决1 error and 0 warnings potentially fixable with the `--fix` option.
  15. Android音视频编码基础一
  16. 第七周OJ—百位数的分解
  17. 林子雨大数据实验八Flink部分代码
  18. V_rep与vs2019开发环境配置
  19. 多重for循环优化,提升运行效率
  20. Endpoint的中文意思

热门文章

  1. hdu1010 dfs+路径剪枝
  2. WPF基础之XAML
  3. Python——基础篇
  4. 最新版AnyDbTest数据库单元测试工具的下载地址
  5. WCF与现行分布式通讯技术性能对比
  6. 如何学好算法与程序设计
  7. 数据结构源码笔记(C语言):堆排序
  8. patch -p0 和patch -p1的区别
  9. java ajax无刷分页_asp.net+ajax+json来实现无刷新分页功能
  10. 请求处理传入原生的API || 请求处理CharacterEncodingFilter解决乱码问题