用Java替换过时的Hashtable类

Ton*_*ark 17 java

当我尝试使用哈希表类时,Netbeans给了我一个错误说:

虽然仍然受支持,但这些类已被JDK1.2集合类淘汰,并且可能不应该在新开发中使用.

但是,我似乎无法在网上找到更好的替代品Hashtable.有什么建议?

Joa*_*uer 33

最直接的替代Hashtable是a HashMap.

一个不同之处在于可以成为重要的是,所有相关的方法Hashtable,而他们是同步的同步的HashMap.

  • 如果需要同步(由Hashtable提供),可以使用[`Collections.synchronizedMap()`](http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html# synchronizedMap(java.util.Map))用于装饰普通的`HashMap`或使用[`ConcurrentHashMap`](http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentHashMap. html)允许并发读取和修改而不需要锁定. (2认同)

Buh*_*ndi 7

更好的替代品HashtableHashMap.

至于过时,我没有提到它,但Javadoc说:

从Java 2平台v1.2开始,这个类被改进以实现Map接口,使其成为Java Collections Framework的成员 .

Hashtable是不同的同步HashMap.