2009-07-31 9 views
5

Ai-je raison de dire qu'une Hashtable .Net n'est pas synchronisée alors qu'une Java Hashtable est? Et en même temps un Java HashMap n'est pas synchronisé et a de meilleures performances?Différences entre .NET Hashtable, Java Hashtable et HashMap

Je suis en train de réécrire une application Java qui utilise beaucoup de HashMaps en C# et j'aimerais utiliser un HashTable et m'assurer que les performances sont fondamentalement équivalentes.

+0

Votre question est un peu clair sur ce que vos objectifs sont en posant cette question. S'il vous plaît envisager de réviser un peu afin qu'il soit plus clair ce que vous espérez apprendre exactement. – Jon

Répondre

6

Je pense que ce que vous demandez est si HashMaps dans Java et HashTables dans C# agissent à peu près de la même manière et vous êtes largement correct du point de vue des performances. HashMaps si je me souviens ne pas se plaindre si vous insérez des clés en double alors que HashTable en C# sera.

+0

Génial! Merci – CountCet

0

Par défaut, Hashtables .NET ne sont pas synchronisés, mais vous pouvez créer une enveloppe synchronisée autour d'un, comme ceci:

Hashtable myHash = Hashtable.Synchronized(new Hashtable());