Die meisten Programmiersprachen unterstützen Arrays. Es ist eine Datenstruktur, in der mehrere Elemente desselben Datentyps gespeichert werden. Wenn für sechs Elemente ein Array deklariert ist, können keine zehn Elemente gespeichert werden. Daher sind Arrays nicht dynamisch und können die Größe des Arrays nicht ändern, sobald es deklariert ist. Programmiersprachen wie Java unterstützen Collections, die zum dynamischen Speichern von Daten verwendet werden. Sammlungen unterstützen Vorgänge wie das Hinzufügen von Elementen und das Löschen von Elementen. In der Erfassungshierarchie gibt es eine Reihe von Schnittstellen und Klassen. Die Basisschnittstelle ist die Collection-Schnittstelle. Set ist eine Schnittstelle, die die Collection-Schnittstelle erweitert. Es erlaubt keine Vervielfältigung. TreeSet und HashSet sind zwei Klassen in der Collection-Hierarchie und beide implementieren die Set-Schnittstelle. TreeSet ist eine Klasse, die die Set-Schnittstelle implementiert und zum Speichern eindeutiger Elemente in aufsteigender Reihenfolge verwendet wird. HashSet ist eine Klasse, die die Set-Schnittstelle implementiert. Sie wird zum Speichern eindeutiger Elemente mithilfe des Hashing-Mechanismus verwendet. Das Hauptunterschied zwischen TreeSet und HashSet ist das TreeSet speichert die Elemente in aufsteigender Reihenfolge, während das HashSet die Elemente nicht in aufsteigender Reihenfolge speichert. Sowohl TreeSet als auch HashSet speichern nur eindeutige Elemente.
1. Übersicht und Schlüsseldifferenz
2. Was ist ein TreeSet?
3. Was ist ein HashSet?
4. Ähnlichkeiten zwischen TreeSet und HashSet
5. Side-by-Side-Vergleich - TreeSet vs HashSet in Tabellenform
6. Zusammenfassung
Die TreeSet-Klasse implementiert die NavigableSet-Schnittstelle. Die NavigableSet-Schnittstelle erweitert die Schnittstellen SortedSet, Set, Collection und Iterable in hierarchischer Reihenfolge. TreeSet behält immer die aufsteigende Reihenfolge bei. Wenn die Elemente in der Reihenfolge B, A, C eingefügt wurden, werden sie als A, B, C gespeichert. Die Methoden wie add (), remove () können mit dem TreeSet-Objekt verwendet werden. Mit der Methode add können Sie ein Element hinzufügen. Die remove-Methode wird verwendet, um ein Element aus der Auflistung zu entfernen. Dies sind einige Methoden, die mit TreeSet verwendet werden können.
Abbildung 01: Programm mit TreeSet
Gemäß dem obigen Programm wird ein Objekt vom Typ TreeSet erstellt. Die String-Datenelemente werden mit der add-Methode zu diesem Objekt hinzugefügt. Die Reihenfolge der eingefügten Daten ist A, D, A, B, C, D. Mit dem Iterator werden die gespeicherten Werte auf den Bildschirm gedruckt. Die Ausgabe ist A, B, C, D. Obwohl es zwei A-Buchstaben und zwei D-Buchstaben gibt, zeigt die Ausgabe jeweils einen A und einen D an. Daher speichert das TreeSet eindeutige Elemente. Es gibt keine bestimmte Einfügungsreihenfolge, aber wenn Sie die Ausgabe beobachten, ist ersichtlich, dass TreeSet die aufsteigende Reihenfolge der Elemente beibehält.
Die HashSet-Klasse erweitert die AbstractSet-Klasse, die Set Interface implementiert. Die Set-Schnittstelle erbt in hierarchischer Reihenfolge Collection- und Iterable-Schnittstellen. In HashSet kann nicht garantiert werden, dass die Elemente die aufsteigende Reihenfolge und die eingefügte Reihenfolge beibehalten. Wenn die eingefügte Reihenfolge A, B, C wäre, könnten die Werte als C, A, B gespeichert werden. Die Speicherreihenfolge kann auch A, B, C sein. Es gibt jedoch keine Garantie, dass die eingefügte Reihenfolge oder aufsteigende Reihenfolge beibehalten wird.
Abbildung 02: Programm mit HashSet
Gemäß dem obigen Programm wird ein Objekt vom Typ HashSet erstellt. Die String-Datenelemente werden mit der add-Methode zu diesem Objekt hinzugefügt. Die Reihenfolge der eingefügten Daten ist L, R, M, M, R, L. Mit dem Iterator werden die gespeicherten Werte auf den Bildschirm gedruckt. Die Ausgabe ist R L M. Obwohl zwei Buchstaben aus den Buchstaben L, R und M vorhanden sind, wird jeweils nur ein Buchstabe angezeigt. Daher speichert das HashSet eindeutige Elemente. Beim Beobachten der Ausgabe ist zu erkennen, dass keine aufsteigende Reihenfolge vorliegt oder die eingefügte Reihenfolge beibehalten wird.
TreeSet vs HashSet | |
TreeSet ist eine Klasse in der Auflistungshierarchie, in der eindeutige Elemente in aufsteigender Reihenfolge gespeichert werden. | HashSet ist eine Klasse in der Auflistungshierarchie, die zum Speichern eindeutiger Elemente mithilfe des Hashing-Mechanismus verwendet wird. |
Element speichern | |
TreeSet speichert die Elemente in aufsteigender Reihenfolge. | HashSet speichert die Elemente nicht in aufsteigender Reihenfolge. |
Bei der Programmierung ist es erforderlich, Datenelemente dynamisch zu speichern. Programmiersprachen wie Java unterstützen Collections, um diese Aufgabe zu erfüllen. In der Erfassungshierarchie gibt es eine Reihe von Schnittstellen und Klassen. TreeSet und HashSet sind zwei Klassen in der Collection-Hierarchie. Beide implementieren die Set-Schnittstelle. TreeSet ist eine Klasse, die die Set-Schnittstelle implementiert und zum Speichern eindeutiger Elemente in aufsteigender Reihenfolge verwendet wird. HashSet ist eine Klasse, die die Set-Schnittstelle implementiert. Sie wird zum Speichern eindeutiger Elemente mithilfe des Hashing-Mechanismus verwendet. Der Unterschied zwischen TreeSet und HashSet besteht darin, dass TreeSet die Elemente in aufsteigender Reihenfolge speichert, während HashSet die Elemente nicht in aufsteigender Reihenfolge speichert. In diesem Artikel wurde der Unterschied zwischen TreeSet und HashSet erläutert.
1. "TreeSet in Java - Javatpoint". JavaPoint. Hier verfügbar
2. "HashSet in Java - Javatpoint". JavaPoint . Hier verfügbar