Die Programmiersprache Java hat zwei verschiedene noch ähnliche Daten-Container -Typen , die HashMap und die HashSet . Beide verwenden eine Hash-Tabelle zum Speichern von Daten . Eine Hash-Tabelle ist eine Tabelle von Werten, die eine Hash-Funktion , um zu bestimmen , wo man nach und Speichern von Daten verwendet aussehen . Dies ermöglicht eine schnelle Datenzugriff , da ein Wert muss nicht gesucht werden. Stattdessen kann der Hash-Funktion den genauen Standort des Wertes . Trotz beiden mit Hash-Tabellen sind HashMap und HashSet ganz verschieden voneinander . Karten
Karten speichern Daten in Schlüssel-Wert- Beziehungen. Ein Schlüssel wird gesagt, auf einen Wert abgebildet werden. Ein Wörterbuch ist ein gutes Beispiel für eine Karte Datencontainer . Der Schlüssel ist das Wort, das Sie nachschlagen werden und der Wert ist die Definition . Alle Daten in einer Karte gespeichert sind mit einem eindeutigen Schlüssel sein , aber es kann mehrere identische Werte sein.
Sets
Ein Set ist eine Sammlung von Daten ohne Elemente zu duplizieren . Zum Beispiel ist die Sequenz der Ziffern von 0 bis 9 ist ein Satz , aber die Sequenz 0, 1, 1, 2, 3 nicht , da die Ziffer 1 wird wiederholt. Ein Satz nicht über einen Schlüssel-Wert- Beziehung wie eine Landkarte . Es ist einfach eine Sammlung von nicht dupliziert Werte .
Leistung
Die HashMap sorgt für eine konstante Leistung für die Zeit "get" und "put" Methoden , die verwendet werden, um die Datenstruktur zu füllen. Constant Pünktlichkeit bedeutet, dass , egal wie groß die Datenstruktur wird , diese Vorgänge wird immer die gleiche Menge an Zeit zu erfüllen. Die HashSet bietet konstante Zeit für die Leistung "add ", " entfernen ", " enthält " und " Größe "-Methoden .
Optionale Features
Die HashMap bietet alle der Operationen der Java -Klasse und die Karte HashSet bietet alle Operationen des Java Set Klasse. Dies liegt daran, sowohl HashMap und HashSet Implementierungen der Java Karte und Set -Klassen bzw. sind .