Es gibt folgende Möglichkeiten, zwei ArrayList in Java zu vergleichen:
- Java gleich() Methode
- Java alles entfernen() Methode
- Java keepAll() Methode
- Java ArrayList.contains() Methode
- Java contentEquals() Methode
- Java Strom Schnittstelle
Java-equals()-Methode
Java gleich() Methode von Aufführen Die Schnittstelle vergleicht das angegebene Objekt mit der Liste auf Gleichheit. Es überschreibt die gleich() Methode von Objekt Klasse.
Syntax
Apache
boolean equals(Object o)
Diese Methode akzeptiert eine Objekt auf Gleichheit mit der Liste verglichen werden. Es kehrt zurück WAHR Wenn das angegebene Objekt mit der Liste übereinstimmt, wird else zurückgegeben FALSCH .
Beispiel
Im folgenden Beispiel haben wir zwei ArrayList erstellt ersteListe Und zweite Liste . Vergleichen Sie beide Listen mithilfe von gleich() Methode gibt sie true zurück. Wir haben ein weiteres Element hinzugefügt zweite Liste um einen Unterschied zwischen firstList und secondList zu erstellen. Wenn wir nun einen Vergleich durchführen, wird es zurückgegeben FALSCH .
import java.util.*; public class ComapreArraylistExample1 { public static void main(String args[]) { //first array list ArrayList firstList=new ArrayList(); //adds elements to the arraylist firstList.add('Apple'); firstList.add('Pears'); firstList.add('Guava'); firstList.add('Mango'); System.out.println(firstList); //second array list List secondList=new ArrayList(); //adds elements to the arraylist secondList.add('Apple'); secondList.add('Pears'); secondList.add('Guava'); secondList.add('Mango'); System.out.println(secondList); //comparing both lists boolean boolval = firstList.equals(secondList); //returns true because lists are equal System.out.println(boolval); //adding another element in the second list secondList.add('Papaya'); //again comparing both lists boolean bool = firstList.equals(secondList); //returns false because lists are not equal System.out.println(bool); } }
Ausgabe
[Apple, Pears, Guava, Mango] [Apple, Pears, Guava, Mango] true false
Java-Methode „removeAll()“ (das fehlende Element finden)
Java alles entfernen() Methode von Anordnungsliste Die Klasse wird verwendet, um alle Elemente aus der Liste zu entfernen, die in der angegebenen Sammlung enthalten sind. Es überschreibt die alles entfernen() Methode von AbstractCollection Klasse.
Syntax
public boolean removeAll(Collection c)
Diese Methode akzeptiert Sammlung als Parameter, der Elemente enthält, die aus dieser Liste entfernt werden sollen. Es kehrt zurück WAHR wenn sich diese Liste durch den Anruf geändert hat.
Beispiel
Im folgenden Beispiel haben wir zwei ArrayList erstellt ersteListe Und zweite Liste . Der alles entfernen() Die Methode entfernt alle Elemente der ersten Liste, da dieselben Elemente auch in der zweiten Liste vorhanden sind, außer Papaya . Also, Papaya ist das fehlende Element in der ersteListe . Daher kehrt es zurück Papaya . Die Methode gibt eine zurück leere Liste [] wenn beide Listen dieselben Elemente haben.
import java.util.*; public class ComapreArraylistExample2 { public static void main(String args[]) { //first arraylist ArrayList firstList=new ArrayList(); //adds elements to the array list firstList.add('Apple'); firstList.add('Pears'); firstList.add('Guava'); firstList.add('Peach'); //second array list ArrayList secondList=new ArrayList(); //adds elements to the array list secondList.add('Apple'); secondList.add('Pears'); secondList.add('Papaya'); secondList.add('Peach'); //removes all elements from the first list //returns empty list if all the elements of first list match with elements of second list secondList.removeAll(firstList); //prints the element of second list which does not match with the element of the first list System.out.println(secondList); } }
Ausgabe
[Papaya]
Sehen wir uns ein weiteres Beispiel für die Methode „removeAll()“ an, die die nicht vorhandenen Elemente aus „firstList“ zurückgibt, nämlich „secondList“.
Beispiel
import java.util.*; public class ComapreArraylistExample3 { public static void main(String args[]) { //first array list ArrayList firstList=new ArrayList(Arrays.asList(12, 4, 67, 90, 34)); System.out.println('First array list: '); System.out.println(firstList); //second array list List secondList=new ArrayList(Arrays.asList(12, 4, 67, 0, 34)); System.out.println('Second array list: '); System.out.println(secondList); //returns the common elements in both list firstList.removeAll(secondList); System.out.println('Un-common element of the first list: '); System.out.println(firstList); } }
Ausgabe
First array list: [12, 4, 67, 90, 34] Second array list: [12, 4, 67, 0, 34] Un-common element of the first list: [90]
Java-Methode retainAll() (gibt gemeinsame Elemente in beiden Listen zurück)
Java keepAll() Methode von Anordnungsliste Die Klasse behält nur die Elemente der Liste, die auch in anderen Listen enthalten sind. Es überschreibt die keepAll() Methode von AbstarctCollection Klasse.
plsql
Syntax
public boolean retainAll(Collection c)
Diese Methode akzeptiert a Sammlung als Parameter, der Elemente enthält, die in der Liste beibehalten werden sollen. Es kehrt zurück WAHR wenn sich diese Liste durch den Anruf geändert hat.
Beispiel
In diesem Beispiel haben wir zwei ArrayList erstellt ersteListe Und zweite Liste durch die Verwendung der asList() Methode der Arrays Klasse. Die Methode asList() gibt eine Listenansicht des angegebenen Arrays zurück.
import java.util.*; public class ComapreArraylistExample4 { public static void main(String args[]) { //first arraylist ArrayList firstList=new ArrayList(Arrays.asList('M', 'W', 'J', 'K', 'T')); System.out.println('First arraylist: '); System.out.println(firstList); //second arraylist List secondList=new ArrayList(Arrays.asList('M', 'W', 'E', 'K', 'T')); System.out.println('Second arraylist: '); System.out.println(secondList); //returns the common elements in both list secondList.retainAll(firstList); System.out.println('Common elements in both list: '); System.out.println(secondList); } }
Ausgabe
First arraylist: [M, W, J, K, T] Second arraylist: [M, W, E, K, T] Common elements in both list: [M, W, K, T]
Java ArrayList.contains()-Methode
Java ArrayList.contains() Die Methode wird zum Vergleichen zweier Elemente unterschiedlicher ArrayList verwendet. Java ArrayList.contains() Methode überschreibt die enthält() Methode von AbstractCollection Klasse.
Syntax
public boolean contains(Object o)
Diese Methode analysiert ein Element, dessen Anwesenheit in der Liste überprüft werden soll. Es kehrt zurück WAHR Wenn das Element übereinstimmt, wird else zurückgegeben FALSCH .
Beispiel
In diesem Beispiel haben wir zwei ArrayList erstellt ersteListe Und zweite Liste von Zeichenfolge Typ. Wir haben diese ArrayList mit verglichen enthält() Methode. Wenn die Elemente der ersten Liste mit den Elementen der zweiten Liste übereinstimmen, wird zurückgegeben Ja und speichert diesen Wert in dritte Liste . Wenn das Element nicht übereinstimmt, wird es ebenfalls zurückgegeben NEIN .
import java.util.ArrayList; import java.util.Arrays; public class ComapreArraylistExample5 { public static void main(String [] args) { //first arraylist ArrayList firstList= new ArrayList(Arrays.asList('Good', 'Morning', 'Students')); //second arraylist ArrayList secondList= new ArrayList(Arrays.asList('Good', 'Night', 'frineds')); //storing the comparison output in thirdList ArrayList thirdList= new ArrayList(); //iterator using for-each loop for(String tempList : firstList) //tempList is a variable thirdList.add(secondList.contains(tempList) ? 'Yes' : 'No'); System.out.println(thirdList); } }
Ausgabe
[Yes, No, No]
Java contentEquals()-Methode
Java contentEquals() Methode vergleicht die Zeichenfolge mit dem StringBuffer und gibt a zurück Boolescher Wert Wert. Es gehört Zeichenfolge Klasse.
Syntax
public boolean contentEquals(StringBuffer sb)
Diese Methode akzeptiert StringBuffer als Parameter zum Vergleich mit dem String. Es kehrt zurück WAHR Wenn der String dieselbe Zeichenfolge wie der angegebene StringBuffer darstellt, wird else zurückgegeben FALSCH .
Beispiel
In diesem Beispiel haben wir zwei ArrayList erstellt ersteListe Und zweite Liste von Zeichenfolge Typ. Wir haben eine statische Methode erstellt vergleichenListe() welches zwei ArrayList analysiert ls1 Und ls2 als Argument und gibt a zurück Boolescher Wert Wert. Die Methode wandelt eine Liste in um Zeichenfolge . Der contentEquals() Die Methode vergleicht den String mit dem angegebenen StringBuffer.
Wir haben der zweiten Liste ein weiteres Element hinzugefügt, um den Unterschied zwischen beiden Listen zu erstellen und die erneut aufzurufen vergleichenListe() Methode, die zurückgibt FALSCH .
import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ComapreArraylistExample6 { //defining method public static boolean compareList(ArrayList ls1, ArrayList ls2) { //converts List into String and checks string are equal or not return ls1.toString().contentEquals(ls2.toString())?true:false; } public static void main(String[] args) { ArrayList firstList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go')); ArrayList secondList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go')); System.out.println('When Lists are same: '+compareList(firstList, secondList)); //adding another element to the secondList secondList.add('C++'); //output after adding different element System.out.println('When Lists are not same: '+compareList(firstList, secondList)); } }
Ausgabe
When Lists are same: true When Lists are not same: false
Java-Stream-Schnittstelle
Java Strom ist eine Schnittstelle. Es gehört dazu java.util Paket. Es bietet eine Filter() Methode zum Filtern von Stream-Elementen auf der Grundlage gegebener Elemente. Es ist ein dazwischenliegend Verfahren.
Syntax
Stream filter(Predicate predicate)
Diese Methode akzeptiert Prädikat (funktionale Schnittstelle) als Argument und gibt einen neuen Strom resultierender Elemente zurück.
SQL-Anzahl eindeutig
Collect()-Methode
Eine andere Methode, die im folgenden Beispiel verwendet wird, ist die sammeln() Methode von Strom Schnittstelle.
Es führt mithilfe eines Collectors eine veränderliche Reduktionsoperation für die Elemente dieses Streams durch. Der Collector kapselt die Funktionen, die als Argumente zum Sammeln verwendet werden (Supplier, BiConsumer, BiConsumer). Es erlaubt Wiederverwendung von Inkassostrategien und Zusammensetzung der Sammeloperationen. es ist ein Terminal Betrieb.
Syntax
R collect(Collector collector)
Collectors.toList()-Methode
Der auflisten() ist eine statische Methode von Sammler Klasse. Es gehört dazu java.util.Stream.Collectors Klasse.
Syntax
public static Collector<t, ?, list> toList() </t,>
Wo T ist die Art der Elemente. Es gibt a zurück Kollektor Dadurch werden alle Eingabeelemente in einer (ungeordneten) Begegnungsreihenfolge in einer Liste gesammelt.
Beispiel
Im folgenden Beispiel haben wir zwei ArrayList erstellt ersteListe Und zweite Liste vom Typ String. Der Filter() Die Methode gibt eine Liste gemeinsamer Elemente zurück, die in beiden Listen vorhanden sind.
import java.util.*; public class CompareArrayListExample7 { public static void main(String[] args) { ArrayList firstList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go')); System.out.println('First List: '+firstList); ArrayList secondList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go', 'Perl')); System.out.println('Second List: '+secondList); // Finds common elements System.out.print('Common elements: ' +firstList.stream().filter(secondList::contains).collect(Collectors.toList())); } }
Ausgabe
First List: [Java, Python, Ruby, Go] Second List: [Java, Python, Ruby, Go, Perl] Common elements: [Java, Python, Ruby, Go]