Viv*_*ath 24 java collections hashtable hashmap
这不是一个关于之间的差异问题我知道Hashtable和HashMap.Hashtable对象不能接受null键或值条目的值,它是同步集合,并且它使用的内存略少于a HashMap.
我想知道使用a Hashtable而不是a 更合适的场景HashMap.
Jon*_*eet 27
这不是一个关于之间的差异问题
Hashtable和HashMap
那真是......
我想知道使用a
Hashtable而不是a 更合适的场景HashMap.
准确地说,当你想要两者之间的差异时:
Collections.synchronizedMap过HashMapHashtable(相对罕见,幸运的是)我不记得上次我处于那种情况,我个人认为 - Hashtable在现代Java代码中使用它是非常罕见的.
Sar*_*rge 14
决不.Hashtable是Java 1中地图的原始实现.它已经被Map实现所取代.当然,Hashtable已被改装以匹配,但这并不是非常有用.
它的主要问题在于它是同步的.这意味着它在线程之间共享的任何情况下都会很慢.在这种情况下,ConcurrentHashMap是更好的选择.如果您在单个线程上运行,那么未同步的HashMap是更好的选择.
我只能想到一个有效的理由 - 当你使用需要它的API时,例如JNDI非常恼人的InitialContext类.
除此之外,我完全没有理由使用它Hashtable.你可以得到的同步版本HashMap使用Collections.synchronizedMap.
| 归档时间: |
|
| 查看次数: |
23864 次 |
| 最近记录: |