Der Unterschied zwischen HashMap und Hashset ist die am häufigsten gestellte Frage in Java -Interviews. Wenn das Sammelframework und das Multi-Thread-Interview nicht beteiligt sind, kann gesagt werden, dass es unvollständig ist. Das Problem mit dem Sammelframework beinhaltet nicht Hashset und HashMap, und es kann als unvollständig bezeichnet werden. HashMap und Hashset sind beide Teil des Sammelgerüsts, die es uns ermöglichen, Sammlungen von Objekten zu verwenden. Das Sammelframework verfügt über eine eigene Schnittstelle und Implementierung, die hauptsächlich in Set -Schnittstelle, Listenschnittstelle und Warteschlangenschnittstelle unterteilt ist. Sie haben ihre eigenen Eigenschaften. Der Satz erlaubt nicht, dass Objekte doppelte Werte haben, und die Liste ermöglicht Duplikate. Es indiziert die Objekte im Satz. Das Arbeitsprinzip der Warteschlange ist der FCFS -Algorithmus (zuerst kommen, erster Server).
Schauen wir uns zuerst an, was Hashmap und Hashset sind, und vergleichen Sie dann die Unterschiede zwischen ihnen.
Was ist Hashset
Hashset implementiert die festgelegte Schnittstelle, die im Satz keine doppelten Werte zulässt. Wenn wir Hashset erwähnen, ist das erste, was das Objekt die Methoden Equals () und HashCode () überschreibt, bevor das Objekt im Hashset gespeichert wird, damit das Objekt verglichen werden kann, ob die Werte des Objekts gleich sind, um sicherzustellen, dass keine gleichen Objekte im Satz gespeichert sind. Wenn wir diese beiden Methoden nicht neu schreiben, wird die Standardimplementierung dieser Methode verwendet.
Mit der Methode des öffentlichen Booleschen Add (Object O) wird Elemente in den Satz hinzugefügt. Wenn der Elementwert wiederholt wird, gibt er sofort false zurück, und wenn er erfolgreich hinzugefügt wird, wird er wahr zurückgegeben.
Was ist Hashmap
HashMap implementiert die Kartenschnittstelle, die Schlüsselwertpaare ordnet. Duplizierte Schlüssel sind in der Karte nicht zulässig. Es gibt zwei grundlegende Implementierungen der Kartenschnittstelle, HashMap und Treemap. Treemap rettet die Reihenfolge der Objekte, während HashMap nicht kann. Mit HashMap können Schlüssel und Werte null sein. HashMap ist nicht synchronisiert, aber das Sammelframework bietet Methoden, um sicherzustellen, dass HashMap synchronisiert ist. Wenn mehrere Threads gleichzeitig zugreifen, kann dies sicherstellen, dass nur ein Thread die Karte ändert.
Die Methode für öffentliche Objekte (Objektschlüssel, Objektwert) wird verwendet, um der Karte Elemente hinzuzufügen.
Sie können diesen Artikel lesen, um zu sehen, wie HashMap funktioniert, und in diesem Artikel, wie HashMap und Hashtable unterschiedlich sind.
Der Unterschied zwischen Hashset und HashMap
| *Hashmap* | *Hashset* |
| HashMap implementiert die Kartenschnittstelle | Hashset implementiert die Set -Schnittstelle |
| Hashmap zum Speichern von Schlüsselwertpaaren | Hashset speichert nur Objekte |
| Verwenden Sie Put () Methode, um Elemente in die Karte zu setzen | Verwenden Sie die Methode add (), um Elemente in die SET einzustellen |
| HashMap verwendet Schlüsselobjekte, um Hashcode -Werte zu berechnen | Hashset verwendet Elementobjekte, um HashCode -Werte zu berechnen. Der HashCode kann für zwei Objekte gleich sein, daher wird die Equals () -Methode verwendet, um die Gleichheit von Objekten zu beurteilen. Wenn die beiden Objekte unterschiedlich sind, geben Sie false zurück. |
| HashMap ist schneller, da es den einzigen Schlüssel verwendet, um das Objekt zu erhalten | Hashset ist langsamer als Hashmap |
Wenn Sie andere Unterschiede kennen, hinterlassen Sie bitte eine Nachricht.
Original -Link: Javareviehed Übersetzung: Importnew.com - Tang Xiaojuan Übersetzung Link: http://www.importnew.com/6931.html