StackOverflow之旅<2>------{HashMap和Hashtable的区别}
2024-10-20 11:27:36
问题
在Java中HashMap
和Hashtable
的区别? 哪一个对于多线程应用程序更好?
回答
Hashtable
是同步的,加了synchronized
锁,而HashMap
不是。没有加synchronized
锁的对象,性能通常比加了synchronized
锁的对象要更好一些,因此,如果是非多线程程序,不需要考虑锁、同步等问题,那么使用HashMap
更好。Hashtable
不允许有空的键或值。HashMap
允许空键和空值。- HashMap有一个子类LinkedHashMap,对这个类对象进行迭代时,它的顺序是有序的(按插入顺序排序)。如有需要,你也能轻易的从
LinkedHashMap
转化成HashMap
。Hashtable
就没那么简单了,
总之,如果你无需关心同步(synchronized)问题,我会建议用HashMap
。反之,你可以考虑使用ConcurrentHashMap
stackoverflow链接:
http://stackoverflow.com/questions/40471/differences-between-hashmap-and-hashtable
最新文章
- 邻接表有向图(一)之 C语言详解
- 【转】wait,notify,notifyAll,join,yield,sleep的区别和联系
- C# WinForm 上传图片,文件到服务器的方法Uploader.ashx
- 虚拟内存设备驱动memdev及实例代码
- 动态规划(DP计数):HDU 5116 Everlasting L
- CentOS 7 安装Broadcom无线网卡驱动
- 一个简单的python选课系统
- 【52】java多线程剖析
- codeforces960G. Bandit Blues
- IMDB影评倾向分类 - N-Gram
- parseFloat()为什么没有效果
- C#获取当前主机硬件信息
- python中的面向对象学习以及类的继承和继承顺序
- Java基础84 javaBean规范
- Android 自定义 ListView 上下拉动&ldquo;刷新最新&rdquo;和&ldquo;加载更多&rdquo;歌曲列表
- 我最喜欢的jQuery插件模板
- Android数据库开发——SQLite
- PHP依赖注入
- redis-redisTemplate模糊匹配删除
- c# 读取confgi文件