5

Am I correct in saying that a .Net Hashtable is not synchronized while a Java Hashtable is? And at the same time a Java HashMap is not synchronized and has better performance?

I am rewriting a Java app that makes heavy use of HashMaps in C# and I would like to use a HashTable and ensure that the performance is basically equivalent.

Jon
  • 2,085
  • 2
  • 20
  • 28
CountCet
  • 4,545
  • 7
  • 30
  • 39
  • Your question is somewhat unclear about what your goals are in asking this question. Please consider revising a bit so it's more clear what you're hoping to learn exactly. – Jon Jul 31 '09 at 01:14

2 Answers2

6

I think what you're asking is if HashMaps in Java and HashTables in C# act in roughly the same way and you're largely correct from a performance point of view. HashMaps as I recall do not complain if you insert duplicate keys whereas HashTable in C# will.

Jon
  • 2,085
  • 2
  • 20
  • 28
0

By default, .NET Hashtables are not synchronized, but you can create a synchronized wrapper around one, like so:

Hashtable myHash = Hashtable.Synchronized(new Hashtable());
Noah Heldman
  • 6,724
  • 3
  • 40
  • 40