Unterschied zwischen Liste und Set

Inhaltsverzeichnis:

Unterschied zwischen Liste und Set
Unterschied zwischen Liste und Set

Video: Unterschied zwischen Liste und Set

Video: Unterschied zwischen Liste und Set
Video: Java Programmierung #25 Unterschied List, Set, Map - ITWorks4U 2024, November
Anonim

Hauptunterschied – Liste vs. Set

Die meisten Programmiersprachen verwenden Arrays, um eine Reihe von Daten des gleichen Typs zu speichern. Ein großer Nachteil von Arrays besteht darin, dass die einmal deklarierte Arraygröße nicht mehr geändert werden kann. Wenn der Programmierer Werte speichern möchte, die die Arraygröße überschreiten, sollte er ein neues Array erstellen und die vorhandenen Elemente in das neue Array kopieren. In diesen Situationen können Sammlungen verwendet werden. Mit der Unterstützung von Sammlungen ist es möglich, Elemente hinzuzufügen, Elemente zu löschen und viele andere Operationen durchzuführen. In Programmiersprachen wie Java sind verschiedene Arten von Sammlungen verfügbar. List und Set sind Schnittstellen der Sammlungshierarchie. Die Basisschnittstelle für andere Schnittstellen ist Collection. Der Hauptunterschied zwischen List und Set besteht darin, dass List das mehrfache Speichern desselben Elements unterstützt, während Set das mehrfache Speichern desselben Elements nicht unterstützt. Daher erlaubt ein Set keine Duplizierung.

Was ist Liste?

Die Liste ist eine Schnittstelle, die die Collection-Schnittstelle erweitert. Es gibt eine Reihe von Methoden in der Collection-Schnittstelle. Die add-Methode hilft, ein Element hinzuzufügen. Die „Remove-Methode“besteht darin, ein Element zu entfernen. Es gibt die „addAll-Methode“, um mehrere Elemente hinzuzufügen, während die „removeAll-Methode“die Elemente aus der Sammlung entfernt. Die Methode contains hilft herauszufinden, ob ein bestimmtes Objekt in der Liste vorhanden ist oder nicht. Das 'containsAll' soll herausfinden, ob eine Menge von Objekten in der Sammlung vorhanden ist. Die Iterator-Methode wird verwendet, um die Elemente der Liste zu durchlaufen. Da List Collection erweitert, gehören alle Methoden von Collection zu List. Abgesehen von diesen Methoden verfügt die Liste über Methoden wie get und set. Der Programmierer kann mit der get-Methode einen Wert an einem bestimmten Index abrufen. Der Programmierer kann mit der Set-Methode einen Wert an einem bestimmten Index setzen. 'indexOf' wird verwendet, um den Index eines Elements zu finden.

In einer Liste können die Operationen entsprechend der Position ausgeführt werden. Der Programmierer kann das Datenelement bereitstellen, das dem Index hinzugefügt werden soll. Es wird also dem spezifischen Index hinzugefügt. Wenn der Programmierer keinen Index angibt, wird das Element am Ende der Liste hinzugefügt. Es behält auch die eingefügte Reihenfolge bei. Wenn Element 1 hinzugefügt wird und dann Element2 hinzugefügt wird, dann wird Element1 vor Element2 sein.

Unterschied zwischen Liste und Menge
Unterschied zwischen Liste und Menge

Abbildung 01: Liste und Set

ArrayList, LinkedList, Vector sind einige Klassen, die List implementieren. In einer ArrayList ist der Zugriff auf ein Element schnell, aber das Einfügen und Löschen ist langsamer. ArrayList ist nicht Thread-sicher. Der Zugriff auf dieselbe ArrayList von mehreren Threads aus führt möglicherweise nicht zu demselben Ergebnis. In einer LinkedList sind die Elemente sowohl rückwärts als auch vorwärts verknüpft. Das Einfügen und Löschen von Elementen mit einer LinkedList ist schneller als mit der ArrayList. Die LinkedList implementiert List und Queue Both. Vector ähnelt ArrayList, ist aber trittsicher, da alle Methoden synchronisiert sind.

Was ist eingestellt?

Set ist eine Schnittstelle, die die Collection-Schnittstelle erweitert. Da die Set-Schnittstelle Collection erweitert, gehören alle Collection-Methoden auch zu Set. Ein Set unterstützt keine Duplizierungswerte. Daher kann der Programmierer dasselbe Element nicht zweimal speichern. Es behält einen einzigartigen Satz von Elementen bei. Die SortedSet-Schnittstelle erweitert die Set-Schnittstelle. SortedSet verw altet die Elemente in sortierter Reihenfolge. Die Schnittstelle NavigableSet erweitert SortedSet. Das NavigableSet bietet Navigationsmethoden wie Lower, Floor, Ceiling etc.

HashSet, LinkedHashSet und TreeSet sind einige Klassen, die die Set-Schnittstelle implementieren. Das HashSet implementiert die Set-Schnittstelle. Die eingefügte Reihenfolge wird nicht beibeh alten. Wenn die Werte als a, x, b eingefügt werden, könnte sie als x, a, b gespeichert werden. Das LinkedSet behält die eingefügte Reihenfolge bei. Wenn die Elemente in der Reihenfolge a, x, b eingefügt werden, ist die Speicherreihenfolge a, x, b. Das TreeSet implementiert Set und NavigableSet. Es behält nicht die Reihenfolge des Einfügens bei, sondern speichert die Elemente in der sortierten Reihenfolge. Wenn die eingefügte Reihenfolge a, c, b ist, werden die Elemente als a, b, c gespeichert. Alle HashSets, LinkedHashSets und TreeSets haben keine doppelten Elemente.

Was sind die Ähnlichkeiten zwischen Liste und Menge?

  • Sowohl Listen- als auch Set-Schnittstellen erweitern die Collection-Schnittstelle.
  • Sowohl List als auch Set unterstützen Operationen wie das Hinzufügen und Entfernen von Elementen.

Was ist der Unterschied zwischen Liste und Menge?

Liste vs. Satz

List Interface ist die Unterschnittstelle von Collection, die Methoden enthält, um Operationen wie Einfügen, Löschen basierend auf dem Index auszuführen. Set Interface ist eine Unterschnittstelle von Collection, die Methoden zum Ausführen von Operationen wie Einfügen, Löschen von Elementen enthält, während die eindeutigen Elemente beibeh alten werden.
Klassen
ArrayList, Vector und LinkedList sind Klassen, die die List-Schnittstelle implementieren. HashSet, LinkedHashSet und TreeSet sind Klassen, die die Set-Schnittstelle implementieren.
Elementverdopplung
Liste unterstützt das Duplizieren von Elementen. Set unterstützt keine Duplizierung von Elementen. Elemente sind einzigartig.

Zusammenfassung – Liste vs. Set

Sammlungen werden verwendet, um Elemente dynamisch zu speichern. Programmiersprachen wie Java bieten eine Collection-Schnittstelle. List und Set sind zwei Schnittstellen, die zur Collection-Schnittstelle gehören. Beide Schnittstellen erweitern Collection. In diesem Artikel wurde der Unterschied zwischen List und Set erläutert. Der Hauptunterschied zwischen List und Set besteht darin, dass List das mehrmalige Speichern desselben Elements unterstützt, während Set das mehrmalige Speichern desselben Elements nicht unterstützt. Set behält immer eindeutige Elemente bei.

Empfohlen: