Was ist der Unterschied zwischen Liste und Menge?

Inhaltsverzeichnis:

Anonim

Die Hauptunterschied zwischen List und Set ist das List speichert doppelte Werte, während Set keine doppelten Werte speichert.

Die Programmiersprache Java unterstützt Collections. Liste und Menge gehören zur Sammlungshierarchie. Beides sind Schnittstellen, die die Collection-Schnittstelle erweitern. Diese Schnittstellen stellen Methoden wie add, remove, clear, size usw. bereit, um Operationen an der Sammlung durchzuführen.

Abgedeckte Schlüsselbereiche

1. Was ist Liste? – Definition, Funktionalität 2. Was ist eingestellt? – Definition, Funktionalität 3. Was ist der Unterschied zwischen Liste und Menge? – Vergleich der wichtigsten Unterschiede

Schlüsselbegriff

ArrayList, Collections, HashSet, Interface, LinkedList, Liste, Set, Vektor

Was ist Liste?

List ist eine untergeordnete Schnittstelle der Collection-Schnittstelle. Es ist in der Lage, die Elemente in der eingefügten Reihenfolge beizubehalten. Darüber hinaus kann es auch doppelte Werte enthalten. Die Klassen ArrayList, LinkedList und Vector implementieren die List-Schnittstelle. Programmierer können Instanzen von jedem wie folgt erstellen.

Liste list1= neue ArrayList();

Liste list2 = new LinkedList();

Liste list3 = new Vector();

Es ist auch möglich, einen bestimmten Objekttyp mithilfe von Generics zu speichern. Die Syntax ist wie folgt.

Listenliste = neue Liste ();

Das Obj bezieht sich auf die Art der Objekte, die die Liste speichern kann. Zum Beispiel,

Liste list1= neue ArrayList();

Die list1 ist eine ArrayList, die Objekte vom Typ Integer speichert. Dieselbe Theorie kann auch auf andere Listentypen wie LinkedList und Vector angewendet werden.

ArrayList bietet keine Thread-Sicherheit. Daher kann der Zugriff auf dieselbe ArrayList von mehreren Threads zu Inkonsistenzen in den Daten führen. In LinkedList können die Elemente in Vorwärts- und Rückwärtsrichtung miteinander verbunden werden. Darüber hinaus ähnelt Vector einer ArrayList, bietet jedoch Thread-Sicherheit.

Ein Beispielprogramm ist wie folgt.

Abbildung 1: Java-Programm mit ArrayList

Letters ist ein Objekt von ArrayList. Die add-Methode hilft beim Einfügen von Elementen in die ArrayList. Der iterator() gibt den Iterator an den Anfang der Sammlung zurück. Die while-Schleife ruft in jeder Iteration die Methode hasNext() auf. Es wird true zurückgegeben, solange Elemente in der Sammlung verfügbar sind. Innerhalb der Schleife hilft die next()-Methode, das nächste Datenelement in der Sammlung zu erhalten. Das System.out.println zeigt das Element auf der Konsole an.

Beim Beobachten der Ausgabe können wir sehen, dass die ArrayList die Reihenfolge der eingefügten Daten beibehält. Außerdem wird der Buchstabe „m“ zweimal eingefügt. ArrayList enthält sowohl m. Daher speichert List doppelte Werte.

Was ist eingestellt?

Set ist eine untergeordnete Schnittstelle der Collection-Schnittstelle. Es unterstützt keine doppelten Elemente. Daher behält es einen einzigartigen Satz von Elementen bei. Die Klassen HashSet, LinkedHashSet und TreeSet implementieren die Set-Schnittstelle. Programmierer können Instanzen von jedem wie folgt erstellen.

Setze set1= new HashSet();

Setze set2 = new LinkedHashSet();

Setze set3= new TreeSet();

Es ist auch möglich, das Speichern bestimmter Objekttypen mithilfe von Generics zuzulassen. Die Syntax ist wie folgt.

Satzsatz = neuer Satz ();

Das Obj bezieht sich auf die Art der Objekte, die das Set speichern kann.

Zum Beispiel,

Setze set1= new HashSet();

Das set1 ist ein HashSet, das Objekte vom Typ Integer speichert. Dieselbe Theorie kann auch auf andere Settypen wie LinkedHashSet und TreeSet angewendet werden.

Die Klassen HashSet, LinkedHashSet und TreeSet implementieren die Set-Schnittstelle. HashSet behält die Reihenfolge der eingefügten Daten nicht bei. Ein LinkedHashSet behält die Reihenfolge der eingefügten Daten bei. Darüber hinaus behält TreeSet die Einfügereihenfolge der Daten nicht bei, sondern speichert die Elemente sortiert. Ein Beispielprogramm ist wie folgt.

Abbildung 2: Java-Programm mit HashSet

Der Brief ist ein Objekt von HashSet. Die Methode add hilft beim Einfügen von Elementen in das HashSet. Dieses Programm enthält auch die Methoden iterator(), hasNext() und next() wie das obige Programm.

Wenn wir die Ausgabe beobachten, können wir sehen, dass HashSet die Reihenfolge der eingefügten Daten nicht beibehält. Außerdem wird der Buchstabe „m“ zweimal eingefügt, enthält aber nur ein m. Daher speichert Set keine doppelten Werte.

Unterschied zwischen Liste und Menge

Definition

List Interface ist eine Unterschnittstelle von Collection, die Methoden zum Ausführen von Operationen wie Einfügen und Löschen basierend auf dem Index enthält. Während Set Interface eine Unterschnittstelle von Collection ist, die Methoden zum Ausführen von Operationen wie Einfügen und Löschen von Elementen enthält, während eindeutige Elemente beibehalten werden. Dies ist also der grundlegende Unterschied zwischen List und Set.

Vervielfältigung

Der Hauptunterschied zwischen List und Set besteht darin, dass List doppelte Werte speichert, während Set keine doppelten Werte speichert.

Klassen

ArrayList, LinkedList und Vector implementieren die List-Schnittstelle, während die Klassen HashSet, LinkedHashSet und TreeSet die Set-Schnittstelle implementieren.

ListIterator

Nullwerte

Außerdem besteht ein weiterer Unterschied zwischen List und Set in Nullwerten. List kann viele Nullwerte haben, während Set nur einen einzigen Nullwert haben kann.

Abschluss

List und Set sind zwei Schnittstellen in der Collection-Hierarchie. Der Hauptunterschied zwischen List und Set besteht darin, dass List doppelte Werte speichert, während Set keine doppelten Werte speichert. Mit anderen Worten, List kann das gleiche Element mehrmals haben, während ein Set nur die eindeutigen Elemente enthält.

Referenz:

1. „Listenschnittstelle in Java mit Beispielen.“ GeeksforGeeks, 26. November 2018, hier verfügbar.2. „In Java eingestellt.“ GeeksforGeeks, 11. Dez. 2018, hier erhältlich.

Was ist der Unterschied zwischen Liste und Menge?