logo

Sådan sammenlignes Two ArrayList i Java

Der er følgende måder at sammenligne to ArrayList i Java:

  • Java lige med() metode
  • Java Fjern alt() metode
  • Java retainAll() metode
  • Java ArrayList.contains() metode
  • Java contentEquals() metode
  • Java Strøm interface

Java equals() metode

Java lige med() metode til Liste interface sammenligner det angivne objekt med listen for lighed. Det tilsidesætter lige med() metode til Objekt klasse.

Syntaks

registrere hukommelse
 boolean equals(Object o) 

Denne metode accepterer en objekt at blive sammenlignet for ligestilling med listen. Det vender tilbage rigtigt hvis det angivne objekt er lig med listen, returnerer else falsk .

Eksempel

I det følgende eksempel har vi oprettet to ArrayList første liste og andenliste . Sammenligning af begge liste ved at bruge lige med() metode, returnerer den sand. Vi har tilføjet endnu et element i andenliste for at skabe en forskel mellem firstList og secondList. Nu, hvis vi udfører sammenligning, vender det tilbage falsk .

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

Produktion

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

Java removeAll()-metoden (finder det manglende element)

Java Fjern alt() metode til ArrayList klasse bruges til at fjerne alle elementer fra listen, der er indeholdt i den angivne samling. Det tilsidesætter Fjern alt() metode til Abstrakt samling klasse.

Syntaks

 public boolean removeAll(Collection c) 

Denne metode accepterer Kollektion som en parameter, der indeholder elementer, der skal fjernes fra denne liste. Det vender tilbage rigtigt hvis denne liste ændres som følge af opkaldet.

Eksempel

I det følgende eksempel har vi oprettet to ArrayList første liste og andenliste . Det Fjern alt() metode fjerner alle elementerne i den første liste, fordi de samme elementer også er til stede i den anden liste, undtagen Papaya . Så, Papaya er det manglende element i første liste . Derfor vender det tilbage Papaya . Metoden returnerer en tom liste [] hvis begge listen har samme elementer.

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

Produktion

 [Papaya] 

Lad os se et andet eksempel på removeAll()-metoden, der returnerer elementerne fra firstList, som ikke er til stede, er secondList.

Eksempel

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

Produktion

 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() metode (returnerer fælles elementer i begge lister)

Java retainAll() metode til ArrayList klasse beholder kun de elementer af listen, der også er indeholdt i andre lister. Det tilsidesætter retainAll() metode til AbstarctCollection klasse.

generel beskyttelsesfejl

Syntaks

 public boolean retainAll(Collection c) 

Denne metode accepterer en Kollektion som en parameter, der indeholder elementer, der skal bibeholdes på listen. Det vender tilbage rigtigt hvis denne liste ændres som følge af opkaldet.

Eksempel

I dette eksempel har vi lavet to ArrayList første liste og andenliste ved at bruge asList() metoden til Arrays klasse. Metoden asList() returnerer en listevisning af det angivne 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); } } 

Produktion

 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() metode

Java ArrayList.contains() metode bruges til at sammenligne to elementer i forskellige ArrayList. Java ArrayList.contains() metode tilsidesætter indeholder() metode til Abstrakt samling klasse.

Syntaks

 public boolean contains(Object o) 

Denne metode analyserer et element, hvis tilstedeværelse på listen skal kontrolleres. Det vender tilbage rigtigt hvis elementet matches, returnerer ellers falsk .

Eksempel

I dette eksempel har vi lavet to ArrayList første liste og andenliste af Snor type. Vi har sammenlignet disse ArrayList vha indeholder() metode. Hvis elementerne i firstList matcher elementerne i secondList, vender den tilbage Ja og gemmer denne værdi i tredjeliste . På samme måde, hvis elementet ikke matcher, vender det tilbage Ingen .

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

Produktion

 [Yes, No, No] 

Java contentEquals() metode

Java contentEquals() metoden sammenligner Snor med StringBuffer og returnerer en boolesk værdi. Det hører til Snor klasse.

Syntaks

 public boolean contentEquals(StringBuffer sb) 

Denne metode accepterer StringBuffer som en parameter, der skal sammenlignes med String. Det vender tilbage rigtigt hvis String repræsenterer den samme sekvens af tegn som den specificerede StringBuffer, returnerer ellers falsk .

Eksempel

I dette eksempel har vi lavet to ArrayList første liste og andenliste af Snor type. Vi har lavet en statisk metode compareList() som analyserer to ArrayList ls1 og ls2 som argument og returnerer en boolesk værdi. Metoden konverterer en liste til Snor . Det contentEquals() metoden sammenligner strengen med den angivne StringBuffer.

Vi har tilføjet et andet element i secondList for at skabe forskellen mellem begge lister og igen kalde compareList() metode, som vender tilbage falsk .

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

Produktion

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

Java Stream Interface

Java Strøm er en grænseflade. Det hører til java.util pakke. Det giver en filter() metode til at filtrere strømelementer på basis af givne elementer. Det er en mellemliggende behandle.

Syntaks

 Stream filter(Predicate predicate) 

Denne metode accepterer Prædikat (funktionel grænseflade) som et argument og returnerer en ny strøm af resulterende elementer.

liste over stater

collect() metode

En anden metode, der bruges i det følgende eksempel, er indsamle() metode til Strøm interface.

Den udfører en foranderlig reduktionsoperation på elementerne i denne strøm ved hjælp af en Collector. Samleren indkapsler de funktioner, der bruges som argumenter til at indsamle (Supplier, BiConsumer, BiConsumer). Det giver mulighed for genbrug af indsamlingsstrategier og sammensætning af indsamlingsdrift. Det er en terminal operation.

Syntaks

 R collect(Collector collector) 

Collectors.toList() metode

Det toList() er en statisk metode til Samlere klasse. Det hører til java.util.Stream.Collectors klasse.

Syntaks

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

Hvor T er typen af ​​elementer. Det returnerer en Samler som samler alle input-elementer i en liste, i en møde (uordnet) rækkefølge.

Eksempel

I det følgende eksempel har vi oprettet to ArrayList første liste og andenliste af strengtype. Det filter() metoden returnerer en liste over fælles elementer, som er til stede i begge lister.

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

Produktion

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