hashmap和hashtable的区别 hashmap和hashtable的区别concurrent
以java为例,其ihashmap和hashtable的区别如下:
1、历史原因不同 。Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现 。
2、也许最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是 。这就意味着 , 虽然你可以不用采取任何特殊的行为就可以在一个多线程的应用程序中用一个Hashtable , 但你必须同样地为一个HashMap提供外同步 。一个方便的方法就是利用Collections类的静态的synchronizedMap()方法 , 它创建一个线程安全的Map对象,并把它作为一个封装的对象来返回 。这个对象的方法可以让你同步访问潜在的HashMap 。这么做的结果就是当你不需要同步时,你不能切断Hashtable中的同步(比如在一个单线程的应用程序中),而且同步增加了很多处理费用 。
【hashmap和hashtable的区别 hashmap和hashtable的区别concurrent】3、只有HashMap可以让你将空值作为一个表的条目的key或value 。HashMap中只有一条记录可以是一个空的key , 但任意数量的条目可以是空的value 。这就是说,如果在表中没有发现搜索键,或者如果发现了搜索键,但它是一个空的值 , 那么get()将返回null 。如果有必要,用containKey()方法来区别这两种情况 。
推荐阅读
- 1080p和720p音质差多少 1080p和720p差距大吗
- 显字怎么组词语和拼音 显字怎么组词语
- 峙怎么组词语和拼音怎么写 峙怎么组词
- 羽毛球77和76有啥区别 两者差了很多
- 万能和弦4536251有什么歌 这么多歌都符合
- 烧烤的影响和坏处 烧烤带来的危害
- 音域和音区有何不同 音域如何划分
- 橙子不能和什么一起吃 橙子不能和什么一起吃会过敏
- 酒红和朱红的区别 朱红色酒红色有什么区别
- 土地税怎么征收 房产税和土地税怎么征收