Differenze tra .Net Hashtable, Java Hashtable & amp; HashMap
Domanda
Sono corretto nel dire che un Hashtable .Net non è sincronizzato mentre un Hashtable Java è? E allo stesso tempo una HashMap Java non è sincronizzata e ha prestazioni migliori?
Sto riscrivendo un'app Java che fa un uso intensivo di HashMaps in C # e vorrei usare una HashTable e assicurarmi che le prestazioni siano sostanzialmente equivalenti.
Soluzione
Penso che quello che stai chiedendo sia se HashMaps in Java e HashTables in C # agiscono all'incirca allo stesso modo e tu sia in gran parte corretto dal punto di vista delle prestazioni. Gli HashMap che ricordo non si lamentano se si inseriscono chiavi duplicate, mentre HashTable in C # lo farà.
Altri suggerimenti
Per impostazione predefinita, .NET Hashtables non è sincronizzato, ma è possibile creare un wrapper sincronizzato attorno a uno, in questo modo:
Hashtable myHash = Hashtable.Synchronized(new Hashtable());