2016-04-23 16 views
0

Ist Hash-Map genau dasselbe mit einer Hash-Tabelle? Basierend auf diesem what is the difference between hash map, hash set, hash dictionary? ist es.Hash-Sets, Hash-Maps und Hash-Tabellen?

Auch ein Hash-Set impliziert eindeutige Elemente, aber in welcher Seite, die Tasten?


Wenn die Antwort einfacher macht, ins Spiel kommen könnte ...

+1

Dies ist das erste Mal, dass ich einen Frage-Link zu seinem Duplikat gesehen habe. Die verknüpfte Frage bietet bereits eine passende Antwort. –

+0

@SamVarshavchik, ** nein **. Ich kann die Einzigartigkeit, die mit dem Hash-Set aus der anderen Antwort kommt, nicht verstehen. :/ – gsamaras

+0

@gsamaras Ein hashset ist nur ein Set - denken Sie daran wie eine Karte/Tabelle/Wörterbuch, aber mit nur Tasten, keine Werte. –

Antwort

2

HashMap hat in etwa die gleiche Funktionalität wie HashTable, in dem Sinne, dass es eine assoziative Speicherung von Schlüsseln auf Wert ist . Der Hauptunterschied besteht darin, dass HashTable synchronisiert ist und keine null s auf beiden Seiten erlaubt, während HashMap nicht synchronisiert ist und null s auf beiden Seiten erlaubt.

Hash-Set impliziert einzigartige Elemente, aber in welcher Seite, die Schlüssel?

HashSet ist jedoch eine ganz andere Sammlung - es hat nur eine Seite, die Schlüssel. Sie können es sich als HashMap ohne zugehörige Werte oder mit allen damit verbundenen Werten vorstellen. Es ähnelt std::unordered_set<T> von C++, abgesehen davon, wie das generische Verhalten implementiert ist. HashMap, auf der anderen Seite, ist std::unordered_map<K,V> von C++ ähnlich.

+1

Sprechen Sie über Java-Klassen 'HashMap' und' HashTable'? Javas 'HashTable' ist synchronisiert, aber ich denke nicht, dass dies im Allgemeinen für alle Hashtabellenimplementierungen gilt und nicht für irgendeinen Standard in C++ (von dem ich weiß). –

+0

@J ... Ich habe speziell über Java 'HashTable' und Java' HashMap' gesprochen, ohne zu merken, dass die Frage nicht für Java getaggt wurde. Sie haben absolut Recht, im Allgemeinen sprechen Hash-Tabelle und Hash-Map-Container nicht über die Synchronisation. – dasblinkenlight

Verwandte Themen