Stockoverflow一集合一HashMap和Hashtable的区别
StockoverflowRestful API
吾生也有涯,而知也无涯
版本号 | 修改人 | 修改日期 | 修改内容 |
---|---|---|---|
v1.0 | shanYueFenCheng | 2019-08-19 | Restful文档 |
说明
翻译Stackoverflow的问题与答案,参考谷歌翻译,结合中文,保留原意的基础上有精简,代码风格贴近中文,仅用于分享和学习,有什么错误,请多多指教
HashMap和Hashtable之间的区别?
Java中的HashMap和Hashtable有什么区别?哪个在非多线程程序更有效?
[原文]https://stackoverflow.com/questions/40471/differences-between-hashmap-and-hashtable )
获得认同最多的回答
一、区别
Java中的HashMap和Hashtable有下面几点不同:
一,同步性:Hashtable是加锁的,HashMap不是,HashMap无法保证同步性。这使得HashMap更适合非多线程的程序
二,性能差异:非加锁对象HashMap比加锁对象Hashtable执行效率更高。
注意:理解同步性与线程安全的核心要素1存在共享变量2在多线程环境3共享变量有修改操作
三,空值限制:Hashtable的key和value不允许使用null, HashMap允许一个空key和任意数量的null值。
二、结论
非多线程场景下:使用HashMap,Hashtable已经过时但没有弃用,现在还保留是因为20世纪90年代的遗留代码API。需要同步的话,请使用ConcurrentHashMap或者外部同步HashMap(充分考虑多线程后果)。
上一篇:Java是“通过引用传递”还是“值传递”
Stockoverflow一集合一HashMap和Hashtable的区别相关推荐
- Java——集合(HashMap与Hashtable的区别)
* HashMap和Hashtable的区别* 共同点:* 底层都是哈希算法,都是双列集合* 区别:* 1,HashMap是线程不安全的,效率高* Hashtable是线程安全的,效率低 * 2,Ha ...
- JAVA面试题:HashMap和Hashtable的区别
HashMap和Hashtable的区别 1.共同点:都是双列集合,底层都是哈希算法 2.区别: * 1.HashMap是线程不安全的,效率高,JDK1.2版本 * Hashtable是线程安全的,效 ...
- HashMap和Hashtable的区别--List,Set,Map等接口是否都继承自Map接口--Collection和Collections的区别...
面试题: 1.HashMap和Hashtable的区别?HashMap:线程不安全,效率高,键和值都允许null值Hashtable:线程安全,效率低,键和值都不允许null值ArrayList代替V ...
- 18.集合框架(Map集合,HashMap和Hashtable的区别,Collections(集合工具类),集合练习,模拟斗地主(洗牌,发牌,看牌))
1.Map集合概述和特点 1.需求: 根据学号获取学生姓名 2.Map接口概述 查看API可以知道: 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能 ...
- JAVA 映射HashMap和HashTable的区别和实用
JAVA 映射HashMap和HashTable的区别和实用 /* * @author Mr liu * * 基本格式:HashMap<key,vaule> * 面试题 * H ...
- hashmap的特性?HashMap底层源码,数据结构?Hashmap和hashtable ConcurrentHashMap区别?
1.hashmap的特性? 允许空键和空值(但空键只有一个,且放在第一位) 元素是无序的,而且顺序会不定时改变 key 用 Set 存放,所以想做到 key 不允许重复,key 对应的类需要重写 ha ...
- 高薪程序员面试题精讲系列36之说说HashMap与HashTable的区别有哪些?
一. 面试题及剖析 1. 今日面试题 HashMap与HashTable的区别有哪些? hash一致性算法了解吗?原理是什么?底层怎么实现的? ....... 2. 题目剖析 今天这道题目,考察的还是 ...
- java HashMap 与HashTable的区别
HashMap 与HashTable的区别 HashMap与Hashtable的区别是面试中经常遇到的一个问题.这个问题看似简单,但如果深究进去,也能了解到不少知识.本文对两者从来源,特性,算法等多个 ...
- hashMap和hashTable的区别以及HashMap的底层原理?
hashMap和hashTable的区别? 1.继承的父类不同 HashTable继承Dictionary类,而hashMap继承了AbstractMap类,但是二者都实现了map接口. 2.线程安全 ...
最新文章
- R语言生成螺旋形(spirals)仿真数据实战:螺旋线型线性不可分数据集、螺旋线型不可分数据集可视化、为散点图中的每个数据点添加类标签信息
- CentOS7下安装pssh并使用
- ffmpeg源码分析四:transcode_step函数 (转4)
- 【转载保存】什么是线程阻塞?为什么会出现线程阻塞?
- 三年级优秀书籍推荐_三年级课外推荐阅读书目
- centos打开mysql数据库_Linux、Centos下操作mysql数据库开启远程访问
- 用c语言单链表编写贪吃蛇程序6,C语言链表实现贪吃蛇游戏
- Eucalyptus Cloud 介绍
- 计算机科学管理学专业大学排名,2020管理科学专业大学排名
- Arduino与按钮,火警传感器,无源红外(PIR)传感器和酒精传感器
- 前后端分离开发模式介绍
- java判断南北纬度的分界线_中国的地理如何区分南北?《南北分界线》在哪里?...
- python里使用协程和StreamReader、StreamWriter来创建echo服务端
- 华东师范大学 硕士毕业论文模版 overleaf版
- 百度地图的鼠标绘制工具
- (14)高通AP10.4开发者指南——WLAN(3.3 分层)
- 计算机应用基础试卷分析报告,计算机应用基础 试卷分析.doc
- Ubuntu 安装msfconsole
- Winform 窗体控件最大化自适应
- 【课程设计】基于Taro+React+Springboot+TaroUI+Python爬虫的网络音乐播放小程序详细设计实现
热门文章
- C# 生成软件注册码
- top(topas),vmstat,iostat在linux和AIX操作系统下显示情况
- 基于SSM的家教信息平台网站设计及数据分析系统
- 一篇文章搞懂 Apache Kylin 4.x 的技术架构
- 计算机网络原理实验实验九:路由器的基本配置,路由器单臂路由配置
- Kylie再登福布斯富豪榜,但我只关心她如何当她的闺蜜~
- “@/“路径是什么意思?
- 在Eclipse中连接数据库、查看数据表、从数据库表生成实体类
- java 数字水印_用JAVA实现数字水印(可见)
- 动手强化学习(六):DQN 算法