1. 继承父类

HashMap 继承 AbstractMap;Hashtable继承Dictionary类,Dictionary类已过时,子类不建议使用,一般认为Hashtable是一个遗留类

2. 线程安全性

HashMap线程不安全,Hashtable线程安全

3. 包含的contains方法

contains方法通常用于获取一些数据中是否包含指定的数据。

HashMap中将contains拆分为  containsValue  和  containsKey  ,分别可以获取key和value是否包含指定内容

Hashtable保留了contains方法,效果同containsValue

4. 是否允许null

HashMap的key和value都允许,Hashtable都不允许

5. 计算Hash值方法

HashMap计算key的hash值使用的是HashMap中的hash()方法,避免了过多的hash冲突

Hashtable用的是key的hashcode()方法获取hash值

6. 扩容方式不同

HashMap扩容为原来的2倍,Hashtable扩容为原来的2倍+1

HashMap初始容量16,大小必须2的指数倍;Hashtable默认11,大小可以自由定义

7. 底层实现不同

HashMap采用 数组 + 链表 + 红黑树(Java8之后);Hashtable采用 数组 + 链表

Hashtable和hashMap有什么区别相关推荐

  1. Hashtable TreeMap HashMap LinkedHashMap的区别

    Hashtable TreeMap HashMap LinkedHashMap的区别 Hashtable TreeMap HashMap LinkedHashMap详解 Hashtable 1.内部存 ...

  2. Hashtable和HashMap类的区别

    Hashtable和HashMap类有三个重要的不同之处.第一个不同主要是历史原因.Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现. ...

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

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

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

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

  5. 【转】HashMap、TreeMap、Hashtable、HashSet和ConcurrentHashMap区别

    转自:http://blog.csdn.net/paincupid/article/details/47746341 一.HashMap和TreeMap区别 1.HashMap是基于散列表实现的,时间 ...

  6. Hashtable,HashMap,ConcurrentHashMap都是Map的实现类,它们在处理null值的存储上有细微的区别,下列哪些说法是正确的

    多选 Hashtable,HashMap,ConcurrentHashMap都是Map的实现类,它们在处理null值的存储上有细微的区别,下列哪些说法是正确的:答案在文末 A. Hashtable的K ...

  7. HashTable和HashMap的区别详解

    HashTable和HashMap的区别详解 一.HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同 ...

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

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

  9. HashTable和HashMap的区别(网上整理)

    1.hashtable是继承自陈旧的Dictionary类的,而hashmap继承自AbstractMap类的同时对Java1.2引进的Map接口进行了实现. 2.hashtable的方法是同步的,而 ...

最新文章

  1. 基于CefGlue的桌面应用开发
  2. 3分钟弄明白JAVA三大修饰符
  3. 电子科技大学计算机网络技术专业,计算机专业前景如何?最强十大高校有哪些?电子科大排名多少?...
  4. Flink 流批一体的实践与探索
  5. ImageList控件 图片容器控件 1130
  6. mac obs 录屏黑屏_差点被录屏软件搞死.......
  7. 落户北京经开区 小米汽车首车预计2024年下线并量产 网友:开始存钱!
  8. jmail 收件(转)
  9. FineReport新增多项目甘特图示例及操作
  10. 敏捷开发用户故事系列之八:验收标准
  11. 用递归的方式处理数组 把递归方法方法定义到数组的原型上 (这是一次脑洞大开的神奇尝试)...
  12. 应用优化-HTTP缓存
  13. 算法:分离链表为两部分,小于某个值都在左边,大于等于某个值在右边 Partition List
  14. 小白也会用的SQL优化工具推荐
  15. php 自定义 bin2hex,php bin2
  16. CAML语法- Query写法
  17. U2Net——U-Net套U-Net——套娃式图像分割算法
  18. 安卓短信软件_【安卓清理君】极度舒适的垃圾清理工具
  19. 备胎的自我修养 | (1)备胎的境界--七友
  20. Android 详细讲解修改app状态栏颜色

热门文章

  1. 关于MS edge出现STATUS_STACK_BUFFER_OVERRUN的解决方法
  2. Swift使用代码进行约束
  3. 《我是一只IT小小鸟》推荐序
  4. Node交互式命令行工具开发——自动化文档工具
  5. Android日历移植小结
  6. “有”“无”之间的哲学对话——海德格尔与老庄哲学思想的相互阐释
  7. ubuntu保存退出
  8. python-探索性数据分析-足球赛事数据集
  9. 如何压缩PDF文件?教你两种压缩文件的方法
  10. CMMI2.0之我见-管理性能和度量MPM