Hauptunterschied – TreeSet vs. HashSet
Die meisten Programmiersprachen unterstützen Arrays. Es ist eine Datenstruktur, die verwendet wird, um mehrere Elemente desselben Datentyps zu speichern. Wenn ein Array für sechs Elemente deklariert ist, kann es nicht zum Speichern von zehn Elementen verwendet 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 Sammlungen, 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. Es gibt eine Reihe von Schnittstellen und Klassen in der Auflistungshierarchie. 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 und zum Speichern eindeutiger Elemente mithilfe des Hashing-Mechanismus verwendet wird. Der Hauptunterschied zwischen TreeSet und HashSet besteht darin, dass TreeSet die Elemente in aufsteigender Reihenfolge speichert, während HashSet die Elemente nicht in aufsteigender Reihenfolge speichert. Sowohl TreeSet als auch HashSet speichern nur eindeutige Elemente.
Was ist ein TreeSet?
TreeSet-Klasse implementiert die NavigableSet-Schnittstelle. Die NavigableSet-Schnittstelle erweitert SortedSet-, Set-, Collection- und Iterable-Schnittstellen 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. Die add-Methode kann verwendet werden, um ein Element hinzuzufügen. Die Methode remove wird verwendet, um ein Element aus der Sammlung zu entfernen. Dies sind einige Methoden, die mit TreeSet verwendet werden können.
Abbildung 01: Programm mit TreeSet
Nach obigem Programm wird ein Objekt vom Typ TreeSet erstellt. Die String-Datenelemente werden diesem Objekt mit der add-Methode hinzugefügt. Die Reihenfolge der eingefügten Daten ist A, D, A, B, C, D. Unter Verwendung des Iterators werden die gespeicherten Werte auf dem Bildschirm ausgegeben. Die Ausgabe ist A, B, C, D. Obwohl es zwei A-Buchstaben und zwei D-Buchstaben gibt, zeigt die Ausgabe jeweils ein A und ein D an. Daher speichert das TreeSet eindeutige Elemente. Es gibt keine bestimmte Einfügungsreihenfolge, aber beim Betrachten der Ausgabe ist ersichtlich, dass das TreeSet die aufsteigende Reihenfolge der Elemente beibehält.
Was ist ein HashSet?
Die HashSet-Klasse erweitert die AbstractSet-Klasse, die die Set-Schnittstelle implementiert. Die Set-Schnittstelle erbt Collection- und Iterable-Schnittstellen in hierarchischer Reihenfolge. In HashSet gibt es keine Garantie dafür, dass die Elemente die aufsteigende Reihenfolge und die eingefügte Reihenfolge beibeh alten. Wenn die eingefügte Reihenfolge A, B, C war, könnten die Werte als C, A, B gespeichert werden. Die Speicherreihenfolge kann auch A, B, C sein, aber es gibt keine Garantie dafür, dass die eingefügte Reihenfolge oder aufsteigende Reihenfolge beibeh alten wird.
Abbildung 02: Programm mit HashSet
Nach obigem Programm wird ein Objekt vom Typ HashSet erstellt. Die String-Datenelemente werden diesem Objekt mit der add-Methode hinzugefügt. Die Reihenfolge der eingefügten Daten ist L, R, M, M, R, L. Unter Verwendung des Iterators werden die gespeicherten Werte auf dem Bildschirm ausgegeben. Die Ausgabe ist R L M. Obwohl es zwei L-, R- und M-Buchstaben von jedem gibt, wird nur ein Buchstabe von jedem angezeigt. Daher speichert das HashSet eindeutige Elemente. Beim Betrachten der Ausgabe ist zu erkennen, dass keine aufsteigende Reihenfolge vorliegt bzw. die eingefügte Reihenfolge beibeh alten wird.
Was sind die Ähnlichkeiten zwischen TreeSet und HashSet?
- TreeSet und HashSet sind Klassen, die zur Sammlungshierarchie gehören.
- Sowohl TreeSet als auch HashSet speichern nur eindeutige Elemente.
- Sowohl TreeSet als auch HashSet können verwendet werden, um viele Elemente zu speichern und zu manipulieren.
- TreeSet und HashSet beh alten die eingefügte Reihenfolge nicht bei.
Was ist der Unterschied zwischen TreeSet und HashSet?
TreeSet vs. HashSet |
|
TreeSet ist eine Klasse in der Sammlungshierarchie, die verwendet wird, um eindeutige Elemente in aufsteigender Reihenfolge zu speichern. | HashSet ist eine Klasse in der Sammlungshierarchie, 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. |
Zusammenfassung – TreeSet vs. HashSet
Bei der Programmierung ist es erforderlich, Datenelemente dynamisch zu speichern. Programmiersprachen wie Java unterstützen Sammlungen, um diese Aufgabe zu erfüllen. Es gibt eine Reihe von Schnittstellen und Klassen in der Auflistungshierarchie. 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 und zum Speichern eindeutiger Elemente mithilfe des Hashing-Mechanismus verwendet wird. 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.