logo

Kako primerjati dva ArrayList v Javi

Obstajajo naslednji načini za primerjavo dveh ArrayList v Javi:

  • Java enako () metoda
  • Java odstrani vse() metoda
  • Java ohraniVse() metoda
  • Java ArrayList.contains() metoda
  • Java contentEquals() metoda
  • Java Tok vmesnik

Metoda Java equals().

Java enako () metoda Seznam vmesnik primerja podani objekt s seznamom za enakost. Preglasi enako () metoda Objekt razred.

Sintaksa

java typeof spremenljivka
 boolean equals(Object o) 

Ta metoda sprejema an predmet primerjati glede enakosti s seznamom. Vrača se prav če je podani objekt enak seznamu, vrne else lažno .

Primer

V naslednjem primeru smo ustvarili dva ArrayList firstList in secondList . Primerjava obeh seznamov z uporabo enako () vrne true. Dodali smo še en element v secondList ustvariti razliko med firstList in secondList. Zdaj, če izvedemo primerjavo, se vrne lažno .

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

Izhod

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

Metoda Java removeAll() (iskanje manjkajočega elementa)

Java odstrani vse() metoda ArrayList razred se uporablja za odstranitev vseh elementov s seznama, ki so v navedeni zbirki. Preglasi odstrani vse() metoda AbstractCollection razred.

Sintaksa

 public boolean removeAll(Collection c) 

Ta metoda sprejema Zbirka kot parameter, ki vsebuje elemente, ki jih je treba odstraniti s tega seznama. Vrača se prav če se je ta seznam zaradi klica spremenil.

Primer

V naslednjem primeru smo ustvarili dva ArrayList firstList in secondList . The odstrani vse() metoda odstrani vse elemente prvega seznama, ker so isti elementi prisotni tudi v drugem seznamu, razen Papaja . Torej, Papaja je manjkajoči element v firstList . Zato se vrača Papaja . Metoda vrne an prazen seznam [] če imata oba seznama enake elemente.

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

Izhod

 [Papaya] 

Oglejmo si še en primer metode removeAll(), ki vrne elemente iz firstList, ki niso prisotni, in to je secondList.

Primer

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

Izhod

 First array list: [12, 4, 67, 90, 34] Second array list: [12, 4, 67, 0, 34] Un-common element of the first list: [90] 

Metoda Java retainAll() (vrne skupne elemente na obeh seznamih)

Java ohraniVse() metoda ArrayList razred obdrži le elemente seznama, ki jih vsebuje tudi drug seznam. Preglasi ohraniVse() metoda AbstarctCollection razred.

nespremenljiv seznam

Sintaksa

 public boolean retainAll(Collection c) 

Ta metoda sprejema a Zbirka kot parameter, ki vsebuje elemente, ki jih je treba obdržati na seznamu. Vrača se prav če se je ta seznam zaradi klica spremenil.

Primer

V tem primeru smo ustvarili dva ArrayList firstList in secondList z uporabo asList() metoda Nizi razred. Metoda asList() vrne pogled seznama navedene matrike.

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

Izhod

 First arraylist: [M, W, J, K, T] Second arraylist: [M, W, E, K, T] Common elements in both list: [M, W, K, T] 

Metoda Java ArrayList.contains().

Java ArrayList.contains() Metoda se uporablja za primerjavo dveh elementov različnih ArrayList. Java ArrayList.contains() metoda preglasi vsebuje() metoda AbstrarctCollection razred.

Sintaksa

 public boolean contains(Object o) 

Ta metoda razčleni element, katerega prisotnost na seznamu je treba preveriti. Vrača se prav če se element ujema, vrne else lažno .

Primer

V tem primeru smo ustvarili dva ArrayList firstList in secondList od Vrvica vrsta. Te ArrayList smo primerjali z uporabo vsebuje() metoda. Če se elementi prvega seznama ujemajo z elementi drugega seznama, se vrne ja in shrani to vrednost v thirdList . Podobno, če se element ne ujema, se vrne št .

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

Izhod

 [Yes, No, No] 

Metoda Java contentEquals().

Java contentEquals() metoda primerja Vrvica z StringBuffer in vrne a logično vrednost. Pripada Vrvica razred.

Sintaksa

 public boolean contentEquals(StringBuffer sb) 

Ta metoda sprejme StringBuffer kot parameter za primerjavo z nizom. Vrača se prav če String predstavlja isto zaporedje znakov kot podani StringBuffer, vrne else lažno .

Primer

V tem primeru smo ustvarili dva ArrayList firstList in secondList od Vrvica vrsto. Ustvarili smo statično metodo primerjajList() ki razčleni dva ArrayList ls1 in ls2 kot argument in vrne a logično vrednost. Metoda pretvori seznam v Vrvica . The contentEquals() metoda primerja niz z navedenim medpomnilnikom nizov.

V secondList smo dodali še en element, da ustvarimo razliko med obema seznamoma in ponovno pokličemo primerjajList() metoda, ki vrne lažno .

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

Izhod

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

Java Stream vmesnik

Java Tok je vmesnik. Pripada java.util paket. Zagotavlja a filter() metoda za filtriranje elementov toka na podlagi danih elementov. Je an vmesni postopek.

Sintaksa

 Stream filter(Predicate predicate) 

Ta metoda sprejema Predikat (funkcionalni vmesnik) kot argument in vrne nov tok rezultatov elementov.

krepko besedilo css

metoda collect().

V naslednjem primeru je uporabljena druga metoda zbirati () metoda Tok vmesnik.

Izvaja operacijo spremenljive redukcije na elementih tega toka z uporabo zbiralnika. Zbiralnik enkapsulira funkcije, ki se uporabljajo kot argumenti za zbiranje (Dobavitelj, BiPorabnik, BiPorabnik). Omogoča, da ponovna uporaba strategij zbiranja in sestave zbiralnih operacij. Je terminal delovanje.

Sintaksa

 R collect(Collector collector) 

Metoda Collectors.toList().

The našteti() je statična metoda Zbiratelji razred. Pripada java.util.Stream.Collectors razred.

Sintaksa

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

Kje T je vrsta elementov. Vrne a Zbiralec ki zbere vse vhodne elemente v seznam v (neurejenem) vrstnem redu.

Primer

V naslednjem primeru smo ustvarili dva ArrayList firstList in secondList vrste niz. The filter() metoda vrne seznam skupnih elementov, ki so prisotni na obeh seznamih.

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

Izhod

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