我是否正确地认为,.Net的Hashtable没有同步机制,而Java的Hashtable有同步机制?同时,Java的HashMap没有同步机制,并且具有更好的性能吗?我正在用C#重写一个大量使用HashMap的Java应用程序,并且我希望使用HashTable并确保其性能基本相当。
我认为你的问题是关于Java中的HashMap和C#中的HashTable是否具有相似的行为,就性能而言,你的大部分想法是正确的。据我回忆,HashMap在插入重复键时不会报错,而C#中的HashTable会报错。
默认情况下,.NET的哈希表是不同步的,但您可以创建一个同步包装器来包装它,方法如下: Hashtable myHash = Hashtable.Synchronized(new Hashtable());