HashTable HashMap区分
主要是安全、速度:
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区分相关推荐
- Vector ArrayList Hashtable HashMap ArrayList LinkedList
1. Vector & ArrayList 1) Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的 ...
- [转]Vector、ArrayList和hashtable hashmap数据结构
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些类均在java.util包中.本文试图通过简单的描述,向读者阐述各个类的作用以 ...
- 浅谈HashTable, HashMap, ConcurrentHashMap 之间的区别
大家好,今天为大家带来新的知识, HashTable, HashMap, ConcurrentHashMap 之间的区别 ...
- HashTable, HashMap, LinkedHashMap, ConcurrentHashMap
HashTable: 不允许null的key或value, 线程安全 HashMap: 允许一个null的key, 无限的null value, 非线程安全 LinkedHashMap: HashMa ...
- Hash(4) hashtable,hashmap
首先,我们要知道set是利使用map是实现的,因为只要利用map中的key唯一性就行了. 1.hashmap 和hashtable的区别是什么? 我们可以背出: hashtable线程安全.hash ...
- 聊聊传说中的散列哈希Hash算法,以及Java中的HashTable,HashMap,HashSet,ConcurrentHashMap......
建议本文结合java源码来阅读,看了之后就什么都懂了,还有参考文献. 散列(Hash) 是一种按关键字编址的存储和检索方法 散列表(HashTable)根据元素的关键字确定元素的位置 散列函数(Has ...
- HashTable HashMap HashSet区别(java) [From 爱做饭的小莹子]
Hashtable: 1. key和value都不许有null值 2. 使用enumeration遍历 3. 同步的,每次只有一个线程能够访问 4. 在java中Hashtable是H大写,t小写,而 ...
- 源码解析-深刻理解Hash HashTable HashMap原理及数据hash碰撞问题
HashMap 前言 Hash HashTable 开地址法 线性探测法 平方探测法 双重散列探测法 拉链法 哈希表优势 HashMap 变量介绍 初始容量和负载因子 红黑树和链表转化 HashMap ...
- hashtable - hashmap
http://www.importnew.com/24822.html 转载于:https://www.cnblogs.com/qinqiu/p/9711147.html
- java map hashtable_Java的HashMap和HashTable
1) hashmap的数据结构 Hashmap是1个数组和链表的结合体(在数据结构称"链表散列"),以下图示: 当我们往hashmap中put元素的时候,先根据key的hash值 ...
最新文章
- python集合中的元素不允许重复对吗_python字典中的值为什么不允许重复
- QT教程4:基本窗口实现
- MySQL配置(二)
- 2017年第八届蓝桥杯C/C++ B组国赛 —— 第三题:希尔伯特曲线
- 计算机专业初试,2019初试-计算机专业基础综合-考试大纲
- 新能源车如何走出“一票否决”的窠臼?
- php运行方式isapi,PHP_WINDOWS 2000下使用ISAPI方式安装PHP,使用ISAPI方式安装PHP。
下载连 - phpStudy...
- crontab播放音乐没声音
- html自动幻灯片代码,简单常用的幻灯片播放实现代码
- 计蒜客-蒜头君回家(bfs)
- 【前端html】html添加背景音乐
- Java项目:SSH公交路线查询网站系统
- Appium 自动化测试 手机操作
- Tunnel端口配置
- 下载网盘资源如何更快呢?
- 创世投资开启数字资产投资新纪元
- jQuery学习教程二十: jQuery 遍历 - 后代
- 印度的美女和软件咱不得不服--不服气得你就进来看
- ffmpeg中的ts/mp4封装格式支持哪些编码格式
- 三菱goto怎么用_为什么说goto是一种不好的用法?