logo

Hoe twee ArrayList in Java te vergelijken

Er zijn de volgende manieren om twee ArrayList in Java te vergelijken:

  • Java is gelijk aan() methode
  • Java Verwijder alles() methode
  • Java behoudenAlles() methode
  • Java ArrayList.bevat() methode
  • Java inhoudGelijk() methode
  • Java Stroom koppel

Java is gelijk aan() methode

Java is gelijk aan() methode van Lijst interface vergelijkt het opgegeven object met de lijst op gelijkheid. Het overschrijft de is gelijk aan() methode van Voorwerp klas.

Syntaxis

voorbeelden van dfa-automaten
 boolean equals(Object o) 

Deze methode accepteert een voorwerp te vergelijken op gelijkheid met de lijst. Het keert terug WAAR als het opgegeven object gelijk is aan de lijst, wordt anders geretourneerd vals .

Voorbeeld

In het volgende voorbeeld hebben we twee ArrayList eersteLijst En tweedeLijst . Beide lijsten vergelijken met behulp van is gelijk aan() methode retourneert het waar. We hebben nog een element toegevoegd aan de tweedeLijst om een ​​verschil te creëren tussen firstList en secondList. Als we nu een vergelijking uitvoeren, keert het terug vals .

 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); } } 

Uitvoer

 [Apple, Pears, Guava, Mango] [Apple, Pears, Guava, Mango] true false 

Java removeAll() methode (het ontbrekende element vinden)

Java Verwijder alles() methode van ArrayLijst class wordt gebruikt om alle elementen uit de lijst te verwijderen die zich in de opgegeven verzameling bevinden. Het overschrijft de Verwijder alles() methode van SamenvattingCollectie klas.

Syntaxis

 public boolean removeAll(Collection c) 

Deze methode accepteert Verzameling als een parameter die elementen bevat die uit deze lijst moeten worden verwijderd. Het keert terug WAAR als deze lijst is gewijzigd als gevolg van de oproep.

Voorbeeld

In het volgende voorbeeld hebben we twee ArrayList eersteLijst En tweedeLijst . De Verwijder alles() methode verwijdert alle elementen van de firstList omdat dezelfde elementen ook aanwezig zijn in de secondList, behalve Papaja . Dus, Papaja is het ontbrekende element in de eersteLijst . Daarom keert het terug Papaja . De methode retourneert an lege lijst [] als beide lijsten dezelfde elementen bevatten.

 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); } } 

Uitvoer

 [Papaya] 

Laten we een ander voorbeeld bekijken van de methode removeAll() die de elementen uit firstList retourneert die niet aanwezig zijn, namelijk de secondList.

Voorbeeld

 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); } } 

Uitvoer

 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-retainAll()-methode (retourneert gemeenschappelijke elementen in beide lijsten)

Java behoudenAlles() methode van ArrayLijst class behoudt alleen de elementen van de lijst die ook in andere lijsten voorkomen. Het overschrijft de behoudenAlles() methode van AbstarctCollectie klas.

10 ml is hoeveel

Syntaxis

 public boolean retainAll(Collection c) 

Deze methode accepteert a Verzameling als een parameter die elementen bevat die in de lijst moeten worden behouden. Het keert terug WAAR als deze lijst is gewijzigd als gevolg van de oproep.

Voorbeeld

In dit voorbeeld hebben we twee ArrayList eersteLijst En tweedeLijst door gebruik te maken van de alsLijst() werkwijze van de Arrays klas. De methode asList() retourneert een lijstweergave van de opgegeven array.

 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); } } 

Uitvoer

 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.bevat() methode wordt gebruikt voor het vergelijken van twee elementen van verschillende ArrayList. Java ArrayList.bevat() methode overschrijft de bevat() methode van SamenvattingCollectie klas.

Syntaxis

 public boolean contains(Object o) 

Deze methode ontleedt een element waarvan de aanwezigheid in de lijst moet worden gecontroleerd. Het keert terug WAAR als het element overeenkomt, wordt anders geretourneerd vals .

Voorbeeld

In dit voorbeeld hebben we twee ArrayList eersteLijst En tweedeLijst van Snaar type. We hebben deze ArrayList vergeleken met behulp van bevat() methode. Als de elementen van de eerste lijst overeenkomen met de elementen van de tweede lijst, wordt deze geretourneerd Ja en slaat deze waarde op derdeLijst . Op dezelfde manier, als het element niet overeenkomt, keert het terug Nee .

 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); } } 

Uitvoer

 [Yes, No, No] 

Java contentEquals()-methode

Java inhoudGelijk() methode vergelijkt de Snaar met de StringBuffer en retourneert een Booleaans waarde. Het is van Snaar klas.

Syntaxis

 public boolean contentEquals(StringBuffer sb) 

Deze methode accepteert StringBuffer als parameter om te vergelijken met de String. Het keert terug WAAR als de String dezelfde reeks tekens vertegenwoordigt als de opgegeven StringBuffer, retourneert else vals .

Voorbeeld

In dit voorbeeld hebben we twee ArrayList eersteLijst En tweedeLijst van Snaar type. We hebben een statische methode gemaakt vergelijkLijst() die twee ArrayList parseert ls1 En ls2 als argument en retourneert a Booleaans waarde. De methode converteert een lijst naar Snaar . De inhoudGelijk() methode vergelijkt de String met de opgegeven StringBuffer.

We hebben nog een element aan de secondList toegevoegd om het verschil tussen beide lijsten te creëren en roepen opnieuw de vergelijkLijst() methode, die terugkeert vals .

 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)); } } 

Uitvoer

 When Lists are same: true When Lists are not same: false 

Java Stream-interface

Java Stroom is een interface. Het behoort tot java.util pakket. Het biedt een filter() methode om stroomelementen te filteren op basis van bepaalde elementen. Het is een tussenliggend proces.

Syntaxis

 Stream filter(Predicate predicate) 

Deze methode accepteert Predikaat (functionele interface) als argument en retourneert een nieuwe stroom resulterende elementen.

int omzetten naar dubbele java

collect() methode

Een andere methode die in het volgende voorbeeld wordt gebruikt, is de verzamelen() methode van Stroom koppel.

Het voert een veranderlijke reductiebewerking uit op de elementen van deze stroom met behulp van een Collector. De Collector omvat de functies die worden gebruikt als argumenten voor het verzamelen (Leverancier, BiConsumer, BiConsumer). Het maakt het mogelijk hergebruiken van inzamelstrategieën en samenstelling van inzameloperaties. Het is een terminal operatie.

Syntaxis

 R collect(Collector collector) 

Collectors.toList()-methode

De naarLijst() is een statische methode van Verzamelaars klas. Het behoort tot java.util.Stream.Collectors klas.

Syntaxis

 public static Collector<t, ?, list> toList() </t,>

Waar T is het type elementen. Het retourneert een Verzamelaar die alle invoerelementen verzamelt in een lijst, in een ontmoetingsvolgorde (ongeordende).

Voorbeeld

In het volgende voorbeeld hebben we twee ArrayList eersteLijst En tweedeLijst van het String-type. De filter() methode retourneert een lijst met gemeenschappelijke elementen die in beide lijsten aanwezig zijn.

 import java.util.*; public class CompareArrayListExample7 { public static void main(String[] args) { ArrayList firstList = new ArrayList(Arrays.asList(&apos;Java&apos;, &apos;Python&apos;, &apos;Ruby&apos;, &apos;Go&apos;)); System.out.println(&apos;First List: &apos;+firstList); ArrayList secondList = new ArrayList(Arrays.asList(&apos;Java&apos;, &apos;Python&apos;, &apos;Ruby&apos;, &apos;Go&apos;, &apos;Perl&apos;)); System.out.println(&apos;Second List: &apos;+secondList); // Finds common elements System.out.print(&apos;Common elements: &apos; +firstList.stream().filter(secondList::contains).collect(Collectors.toList())); } } 

Uitvoer

 First List: [Java, Python, Ruby, Go] Second List: [Java, Python, Ruby, Go, Perl] Common elements: [Java, Python, Ruby, Go]