Unterschied zwischen Set und Liste

Unterschied zwischen Set und Liste

Unterschied zwischen Arrayliste und verknüpfter Liste

Bevor wir uns mit den tatsächlichen Unterschieden befassen, lassen Sie uns wissen, was sie wirklich sind?

Was ist ein Set?

Wir sind auf das Konzept der Set in Mathematik gestoßen und das Set hier mehr oder weniger bedeutet dasselbe. Ja, es ist eine Sammlung von Elementen und in den meisten Fällen eine Sammlung ähnlicher Elemente. Sie können versuchen, diese Elemente zu einem Set hinzuzufügen und zu drucken, um zu verstehen, wie sie tatsächlich gespeichert wird.

Eingabe in einen Satz: 20, 50, 10, 30.

Es wird tatsächlich in einem Set als gespeichert 10, 20, 30, 50.

Die Elemente werden hier sortiert und nicht in ihrer Einfügungsordnung gespeichert. Dies ist eines der Merkmale von Set, dass es die Elemente vor dem Speichern immer sortiert, und es gibt natürlich Ausnahmen und eines und eines ist das LinkedHashset, da es die Einfügungsreihenfolge der Elemente beibehält.

In Computerbegriffen enthält der Satz nur wenige zusätzliche Eigenschaften wie Methoden und Vererbung. Methoden sind genau wie Funktionen und erledigen bestimmte Aufgaben wie das Hinzufügen, Entfernen oder Iterieren des Elementssatzes. Die meisten von uns sind des Begriffs Erbe bekannt und es bedeutet hier dasselbe. Ja, wir können eine Methode aus ihrer Sammlung erben, damit sie mit der Set -Schnittstelle verwendet werden kann. Wieder sprechen wir über einen neuen Begriff i.e. Die festgelegte Schnittstelle und es ist nichts weiter als die gesamte Reihe von Elementen einschließlich der Methoden.

Wie man es implementiert?

Nur für ein besseres Verständnis haben wir ein Set mit seiner Syntax dargestellt. Aus der folgenden Syntax können Sie die verschiedenen Arten von Set wie Hashset und Treeset identifizieren.

Java importieren.Util.*;

öffentliche Klasse SetExample

public static void main (String args [])

int count [] = 34, 22,10,60,30,22 25, 17, 76, 12, 88, 57;

Set set = new Hashset ();

versuchen

für (int i = 0; i < 5; i++)

Satz.add (count [i]);

System.aus.println (set);

Treeset sortEdSeteg = neuer Treeset (set);

System.aus.println („Hier haben wir die sortierte Ausgabe:“);

System.aus.println (sortEdSeteg);

System.aus.println („Schauen Sie sich das erste Element an:“+ (Ganzzahl) sortiert sortiert.Erste());

System.aus.println („Schauen Sie sich das letzte Element an:“+ (Ganzzahl) sortiert sortiert.zuletzt());

fangen (Ausnahme E)

Die Ausgabe des obigen Codes lautet wie folgt.

[25, 17, 76, 12, 88]
Hier haben wir die sortierte Ausgabe:
[12, 17, 25, 76, 88]
Schauen Sie sich das erste Element an: 12
Schauen Sie sich das letzte Element an: 88

Was ist Liste?

Eine Liste erweitert die Sammlung ähnlich wie ein Set, aber sie behält die Reihenfolge der Einfügung bei. Sie versuchen, die folgenden Namen zu einer Liste hinzuzufügen, und sehen, wie es hinzugefügt wird.

Die Eingabe in eine Liste: John, Nancy, Mary, Alice.

Wie es in einer Liste gespeichert wird: John, Nancy, Mary, Alice.

Beachten Sie einfach die Reihenfolge, in die sie eingefügt werden.  Sie können identifizieren, dass "John" das erste Element in der Eingabe sowie die Ausgabe ist, und folgt von derselben Reihenfolge, in der die Namen eingefügt werden. Wir können sogar diese eine der Haupteigenschaften der Liste betrachten.

Wie man es implementiert?

Sehen wir uns einige der Liste der Liste wie ArrayList und LinkedList in der folgenden Syntax an.

Java importieren.Util.*;
öffentliche Klasse CollectionsSample

public static void main (String [] args)

Liste a1 = new ArrayList ();
A1.add ("John");
A1.add ("nancy");
A1.add ("Mary");
A1.add ("Alice");
System.aus.println ("ArrayList -Elemente sind");
System.aus.print ("\ t" + a1);

Liste l1 = new LinkedList ();
L1.add ("silvia");
L1.add ("arjun");
L1.add ("Deepika");
L1.add ("susan");
System.aus.println ();
System.aus.println ("LinkedList -Elemente sind");
System.aus.print ("\ t" + l1);

Die Ausgabe der obigen Syntax ist wie folgt.

ArrayList -Elemente sind

[John, Nancy, Mary, Alice]

LinkedList -Elemente

[Silvia, Arjun, Deepika, Susan]

Aus dem obigen Code ist sehr klar, dass sowohl die ArrayList als auch die LinkedList die Einfügungsreihenfolge beibehalten.

Wie sie sich unterscheiden?

  • Methoden und Beschreibungen:

Das Set und die Liste haben ihre eigenen Methoden und lassen Sie uns hier einige davon ansehen.

S.NEIN Set - Methoden Liste - Methoden
1. hinzufügen() - Es soll eine Sammlung Objekte hinzufügen. void add (int Index, Objekt OBJ) - Es fügt das Objekt "obj" am angegebenen "Index" der aufgerufenen Liste hinzu und stellt sicher, dass kein Element überschrieben wird, indem die vorherigen Elemente verschoben werden.
2. klar() - Es soll Objekte aus einer Sammlung entfernen. Boolean Addall (int Index, Sammlung c) - Es fügt die gesamte Sammlung 'C' der aufgerufenen Liste und am angegebenen "Index" hinzu. Es stellt auch sicher, dass keine Elemente überschrieben werden. Wir können auch die Richtigkeit seines Betriebs überprüfen, indem wir den Rückgabewert untersuchen. Es gibt 'true' zurück, wenn die Änderung ansonsten erfolgreich ist. Es gibt einen Wert 'falsch' zurück.
3. enthält () - Es soll überprüfen, ob das Satz ein bestimmtes Objekt darin enthält. Es gibt einen Wert 'true' zurück, wenn das Objekt im Satz vorhanden ist. Objekt get (int Index) - Es gibt das Element oder Objekt im angegebenen "Index" zurück.
4. ist leer() - Es soll feststellen, ob die Sammlung als keine Elemente darin hilft. Es gibt einen Wert 'true' zurück, wenn es kein Element gibt. int lastIndexof (Objekt OBJ) - Es funktioniert ähnlich wie die Rückseite der Index von() Methode. Es gibt das letzte Auftreten des angegebenen Objekts 'obj' zurück und ein Wert '1' wird zurückgegeben, wenn kein solches Objekt in der Liste vorhanden ist. Daher kann es auch als verwendet werden als enthält () Methode der festgelegten Schnittstelle.
6. entfernen() - Es soll ein Element aus einer Sammlung entfernen, indem es als Parameter für die Methode angegeben wird. ListIterator Listiterator () - Es gibt einen Iterator in den Startindex der Liste zurück.
7. Größe() - Es geht darum, die Anzahl der Objekte oder Elemente, die eine Sammlung hat, zu zählen. Listiterator Listiterator (int Index) - Es hilft bei der Iterierung der aufgerufenen Liste, beginnend am angegebenen "Index".
8. - Objekt entfernen (int Index) - Es löscht das Objekt am angegebenen "Index" und gibt das gelöschte Element als Ergebnis zurück. Es verringert auch die resultierenden Listenindizes, um die Löschung widerzuspiegeln.
9. - Objektsatz (int Index, Objekt OBJ) - Es soll das Objekt 'OBJ' der aufgerufenen Liste im angegebenen 'Index' zuweisen.
10. - Listlist (int Start, int End) - Es soll die Objekte aus dem Index 'Start' zum Index 'Ende' in die Liste einbeziehen, die die Methode aufgerufen hat.
  • Insertionsauftragswartung:

Das Set unterhält niemals die Reihenfolge der Elemente, in denen sie in sie eingefügt werden, während die Liste sie beibehält. Es gibt eine Ausnahme von dieser Regel für LinkedHashset, da sie die Reihenfolge der Einfügung beibehält. Das gleiche wird mit Beispielen unten beschrieben.

Satz Eingabe: Katze, Puppe, Apfel.

Gespeichert als: Apfel, Katze, Puppe.

Listeneingabe: Katze, Puppe, Apfel.

Gespeichert als: Katze, Puppe, Apfel.

  • Das Vorhandensein von Duplikaten:

Ein Set erlaubt niemals Duplikate, während eine Liste dies zulässt. Wenn ein doppelter Wert zu einer Liste hinzugefügt werden muss, wird er überschrieben. Schauen Sie sich die Beispiele für Set und Listen Sie Duplikate an.

Eingabe einstellen: 10, 20, 20, 50.

Gespeichert als: 10, 20, 50.

Listeneingabe: 10, 20, 20, 50.

Speichern als: 10, 20, 20, 50.

  • Nullwerte:

Ein Satz kann nur einen Nullwert haben, während eine Liste mehr als einen Nullwert haben kann und auf keine Zahl beschränkt ist.

Eingabe einstellen: Null, Null, Mann, Hund, Flugzeug.

Speichern als: Null, Hund, Mann, Flugzeug.

Listeingabe: Null, Null, Mann, Hund, Flugzeug.

Speichern als: Null, Null, Mann, Hund, Flugzeug.

  • Verwendung von Iterator und Listiterator:

Die Iteratormethode funktioniert gut mit der SET und der Liste, während der Methode -Listiterator nur mit der Liste funktioniert. Der Listiterator kann verwendet werden, um nach vorne und rückwärts durch die Liste zu durchlaufen.

  • Das Vorhandensein der Legacy -Klasse:

Das Set hat keine Legacy -Klasse, während die Listenschnittstelle ein Vermächtnis als "Vektor" bezeichnet hat, das als "Vektor" bezeichnet wird.  Ein Vektor verwendet die Listenschnittstelle und behält daher die Reihenfolge der Einfügung bei. Aufgrund der Synchronisierungsbemühungen ist die Leistung von Vektor zusätzlich, Löschungen und Updates wenig langsamer.

  • Implementierungen:

Nur wenige der festgelegten Implementierungen sind Hashset, LinkedHashset und Treeset. Nur wenige der Implementierungen der Liste enthalten ArrayList und LinkedList.

Wann werden Set & List verwendet?

Die Verwendung von Set und Liste hängt rein von der Erfordernis der Aufrechterhaltung der Einfügungsreihenfolge ab. Da wir erfahren haben, dass ein Satz niemals die Reihenfolge der Einfügung aufrechterhalten, kann es verwendet werden, wenn die Reihenfolge von geringerer Bedeutung ist. Verwenden Sie in ähnlicher Weise die Liste, wenn Sie auch die Abfolge der Insertion beibehalten müssen.

Unterschiede in einer tabellarischen Form:

S.NEIN Unterschiede in Satz Aufführen
1. Einfügenauftrag Es behält die Einfügungsreihenfolge bei. Der erste Eingeklagte bleibt in erster Linie und so unabhängig von seinem Wert. Es behält niemals die Einfügungsreihenfolge bei.
2. Methoden Es verwendet die Methoden wie add (), clear (), enthält (), isEmpty (), remy () und size (). Es verwendet die Methoden wie add (), addAll (), get (), lastIndexof (), listIterator () mit oder ohne Parameter, remove (), set () und sublist ().
3. Duplikate Es erlaubt niemals Duplikate und bei solchen Erscheinungen wird der Wert überschrieben. Es ermöglicht Duplikate.
4. NULL -Werte Es kann maximal einen Nullwert haben. Es kann eine beliebige Anzahl von Nullwerten haben.
5. Verwendung von Iterator () & ListIterator () Es verwendet nur den Methode Iterator (). Es verwendet sowohl den Iterator () als auch den Listiterator ().
6. Vorhandensein der Legacy -Klasse Es gibt keine Legacy -Klasse. Es hat als Legacy -Klasse als Vektor bezeichnet.
7. Implementierungen Nur wenige der Implementierungen der festgelegten Schnittstelle sind Hashset, LinkedHashset und Tree Set. Nur wenige der Implementierungen der List -Schnittstelle sind verknüpft und ArrayList.

Hoffe, wir haben jeden möglichen Unterschied zwischen dem Set und der Liste aufgenommen. Wenn Sie das Gefühl haben, dass wir etwas verpasst haben, lassen Sie es uns bitte wissen.