【hashmap和hashtable的区别 hashmap和hashtable的区别,说法错误的是】
文章插图
以java为例,其ihashmap和hashtable的区别如下:
1、历史原因不同 。Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现 。
2、也许最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是 。这就意味着,虽然你可以不用采取任何特殊的行为就可以在一个多线程的应用程序中用一个Hashtable,但你必须同样地为一个HashMap提供外同步 。一个方便的方法就是利用Collections类的静态的synchronizedMap()方法,它创建一个线程安全的Map对象,并把它作为一个封装的对象来返回 。这个对象的方法可以让你同步访问潜在的HashMap 。这么做的结果就是当你不需要同步时,你不能切断Hashtable中的同步(比如在一个单线程的应用程序中),而且同步增加了很多处理费用 。
3、只有HashMap可以让你将空值作为一个表的条目的key或value 。HashMap中只有一条记录可以是一个空的key,但任意数量的条目可以是空的value 。这就是说,如果在表中没有发现搜索键,或者如果发现了搜索键,但它是一个空的值,那么get()将返回null 。如果有必要,用containKey()方法来区别这两种情况 。
- 1080p和720p差距大吗 1080p好还是720p好
- 1080p和2k差多少性能 1080p和2k差多少
- 淘宝上的企业店铺靠谱吗 企业店铺和天猫哪个好
- 基于51单片机的毕业设计论文 单片机毕业设计论文
- 1060和1660区别大吗 1060和1660区别
- 1060ti和1060什么区别 1060跟1060ti
- 1050比1050ti差多少 1050和1050ti差多少
- 喝黑咖啡能不能减肥 黑咖啡粉的作用和功效
- 小米8和小米9拍照对比 小米8拍照比小米9好
- 西瓜吃多了会浮肿吗