主要是安全、速度:

1、HashMap可以接受null的键。

2、HashMap是非synchronized,而Hashtable是synchronized,这意味着Hashtable是线程安全的,多个线程可以共享一个Hashtable;而如果没有正确的同步的话,多个线程是不能共享HashMap的。Java 5提供了ConcurrentHashMap,它是HashTable的替代,比HashTable的扩展性更好。

3、由于Hashtable在单线程环境下它比HashMap要慢。

3、另一个区别是HashMap的迭代器(Iterator)是fail-fast迭代器,而Hashtable的enumerator迭代器不是fail-fast的。所以当有其它线程改变了HashMap的结构(增加或者移除元素),将会抛出ConcurrentModificationException,但迭代器本身的remove()方法移除元素则不会抛出ConcurrentModificationException异常。但这并不是一个一定发生的行为,要看JVM。这条同样也是Enumeration和Iterator的区别。

5、HashMap不能保证随着时间的推移Map中的元素次序是不变的。

参考:http://www.importnew.com/7010.html

   HashTable和HashMap的区别详解

Java HashMap工作原理及实现

深入Java集合学习系列:HashMap的实现原理

     HashMap实现原理分析

转载于:https://www.cnblogs.com/mzzcy/p/7004398.html

HashTable HashMap区分相关推荐

  1. Vector ArrayList Hashtable HashMap ArrayList LinkedList

    1. Vector & ArrayList 1)  Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的 ...

  2. [转]Vector、ArrayList和hashtable hashmap数据结构

    线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些类均在java.util包中.本文试图通过简单的描述,向读者阐述各个类的作用以 ...

  3. 浅谈HashTable, HashMap, ConcurrentHashMap 之间的区别

           大家好,今天为大家带来新的知识,  HashTable, HashMap, ConcurrentHashMap 之间的区别                                ...

  4. HashTable, HashMap, LinkedHashMap, ConcurrentHashMap

    HashTable: 不允许null的key或value, 线程安全 HashMap: 允许一个null的key, 无限的null value, 非线程安全 LinkedHashMap: HashMa ...

  5. Hash(4) hashtable,hashmap

    首先,我们要知道set是利使用map是实现的,因为只要利用map中的key唯一性就行了. 1.hashmap 和hashtable的区别是什么? 我们可以背出:  hashtable线程安全.hash ...

  6. 聊聊传说中的散列哈希Hash算法,以及Java中的HashTable,HashMap,HashSet,ConcurrentHashMap......

    建议本文结合java源码来阅读,看了之后就什么都懂了,还有参考文献. 散列(Hash) 是一种按关键字编址的存储和检索方法 散列表(HashTable)根据元素的关键字确定元素的位置 散列函数(Has ...

  7. HashTable HashMap HashSet区别(java) [From 爱做饭的小莹子]

    Hashtable: 1. key和value都不许有null值 2. 使用enumeration遍历 3. 同步的,每次只有一个线程能够访问 4. 在java中Hashtable是H大写,t小写,而 ...

  8. 源码解析-深刻理解Hash HashTable HashMap原理及数据hash碰撞问题

    HashMap 前言 Hash HashTable 开地址法 线性探测法 平方探测法 双重散列探测法 拉链法 哈希表优势 HashMap 变量介绍 初始容量和负载因子 红黑树和链表转化 HashMap ...

  9. hashtable - hashmap

    http://www.importnew.com/24822.html 转载于:https://www.cnblogs.com/qinqiu/p/9711147.html

  10. java map hashtable_Java的HashMap和HashTable

    1)  hashmap的数据结构 Hashmap是1个数组和链表的结合体(在数据结构称"链表散列"),以下图示: 当我们往hashmap中put元素的时候,先根据key的hash值 ...

最新文章

  1. python集合中的元素不允许重复对吗_python字典中的值为什么不允许重复
  2. QT教程4:基本窗口实现
  3. MySQL配置(二)
  4. 2017年第八届蓝桥杯C/C++ B组国赛 —— 第三题:希尔伯特曲线
  5. 计算机专业初试,2019初试-计算机专业基础综合-考试大纲
  6. 新能源车如何走出“一票否决”的窠臼?
  7. php运行方式isapi,PHP_WINDOWS 2000下使用ISAPI方式安装PHP,使用ISAPI方式安装PHP。 下载连 - phpStudy...
  8. crontab播放音乐没声音
  9. html自动幻灯片代码,简单常用的幻灯片播放实现代码
  10. 计蒜客-蒜头君回家(bfs)
  11. 【前端html】html添加背景音乐
  12. Java项目:SSH公交路线查询网站系统
  13. Appium 自动化测试 手机操作
  14. Tunnel端口配置
  15. 下载网盘资源如何更快呢?
  16. 创世投资开启数字资产投资新纪元
  17. jQuery学习教程二十: jQuery 遍历 - 后代
  18. 印度的美女和软件咱不得不服--不服气得你就进来看
  19. ffmpeg中的ts/mp4封装格式支持哪些编码格式
  20. 三菱goto怎么用_为什么说goto是一种不好的用法?

热门文章

  1. FTP服务器:Rumpus for Mac
  2. 用 Tenorshare ReiBoot修复iPhone无法开机
  3. $on与$emit实现父子跨多组件通信
  4. OA系统中的HRM的发展和存在的误区,值得每一个HR学习
  5. linux命令大全之ss命令详解(获取socket统计信息)
  6. 如何更新 OpenStack 组件?- 每天5分钟玩转 OpenStack(161)
  7. UTM 用户线程模型
  8. 图文并茂排序与算法总结
  9. 微软正式发布Internet Explorer 7.0
  10. Idea 工具在java文件中怎么避免 import .*包