1
resposta

Diferença entre HashTables e HashMap

Boa tarde Pessoal,

Não consigo entender a diferença de HashTables e HashMap. Há alguma video por aqui ou algum lugar para pode estudar ?

Obrigado!

1 resposta

HashTable e HashMap , bascicamente tem o mesmo comportamento , a única diferença é que o primeiro é thread-safe e o outro não.

Por thread-safe , vc pode entender como , se várias threads vão acessar e/ou modificar o objeto, e para que isso seja feito sem que uma thread interfira em outra , é preciso um tratamento de concorrência que contorna este problema , mas impacta na performance.

Então, basicamente , se você precisar e/ou estiver em um cenário concorrente utilize HashTable , caso contrário HashMap , porque é mais eficiente.

" As of the Java 2 platform v1.2, this class was retrofitted to implement the Map interface, making it a member of the Java Collections Framework. Unlike the new collection implementations, Hashtable is synchronized. If a thread-safe implementation is not needed, it is recommended to use HashMap in place of Hashtable. If a thread-safe highly-concurrent implementation is desired, then it is recommended to use ConcurrentHashMap in place of Hashtable. "

https://docs.oracle.com/javase/7/docs/api/java/util/Hashtable.html