logo

Hogyan hasonlítsunk össze két ArrayList-et Java-ban

A következő módok vannak a két ArrayList összehasonlítására Java nyelven:

  • Jáva egyenlő () módszer
  • Jáva összes eltávolítása() módszer
  • Jáva megtart minden() módszer
  • Jáva ArrayList.contains() módszer
  • Jáva contentEquals() módszer
  • Jáva Folyam felület

Java equals() metódus

Jáva egyenlő () a metódusa Lista felület összehasonlítja a megadott objektumot az egyenlőséglistával. Felülírja a egyenlő () a metódusa Tárgy osztály.

Szintaxis

xvideoservicethief ubuntu 14.04 letöltés
 boolean equals(Object o) 

Ez a módszer elfogad egy tárgy össze kell hasonlítani a listával való egyenlőség szempontjából. Visszatér igaz ha a megadott objektum megegyezik a listával, az else visszatér hamis .

Példa

A következő példában két ArrayList-t hoztunk létre firstList és második lista . Mindkét lista összehasonlítása a használatával egyenlő () módszerrel, igazat ad vissza. Hozzáadtunk egy újabb elemet a második lista hogy különbséget hozzon a firstList és a secondList között. Most, ha összehasonlítást végzünk, akkor visszatér hamis .

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

Kimenet

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

Java removeAll() metódus (a hiányzó elem megtalálása)

Jáva összes eltávolítása() a metódusa Tömb lista osztály a listából való összes elem eltávolítására szolgál, amely a megadott gyűjteményben található. Felülírja a összes eltávolítása() a metódusa AbstractCollection osztály.

Szintaxis

 public boolean removeAll(Collection c) 

Ez a módszer elfogadja Gyűjtemény a listáról eltávolítandó elemeket tartalmazó paraméterként. Visszatér igaz ha ez a lista megváltozott a hívás hatására.

Példa

A következő példában két ArrayList-et hoztunk létre firstList és második lista . A összes eltávolítása() metódus eltávolítja a firstList összes elemét, mert ugyanazok az elemek a secondListben is jelen vannak, kivéve Papaya . Így, Papaya a hiányzó elem a firstList . Ezért visszatér Papaya . A metódus egy üres lista [] ha mindkét listának ugyanazok az elemei vannak.

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

Kimenet

 [Papaya] 

Lássunk egy másik példát a removeAll() metódusra, amely visszaadja a firstList azon elemeit, amelyek nincsenek jelen, a secondList.

Példa

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

Kimenet

 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() metódus (a közös elemeket adja vissza mindkét listában)

Jáva megtart minden() a metódusa Tömb lista osztály csak azokat az elemeket őrzi meg a listából, amelyek más listában is szerepelnek. Felülírja a megtart minden() a metódusa AbstartCollection osztály.

hallgassa meg a portot

Szintaxis

 public boolean retainAll(Collection c) 

Ez a módszer elfogadja a Gyűjtemény olyan paraméterként, amely a listában megtartandó elemeket tartalmazza. Visszatér igaz ha ez a lista a hívás hatására megváltozott.

Példa

Ebben a példában két ArrayList-et hoztunk létre firstList és második lista segítségével asList() módszere a Tömbök osztály. Az asList() metódus a megadott tömb listanézetét adja vissza.

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

Kimenet

 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() metódus

Jáva ArrayList.contains() módszert használják a különböző ArrayList két elemének összehasonlítására. Jáva ArrayList.contains() módszer felülírja a tartalmazza () a metódusa AbstrarctCollection osztály.

Szintaxis

 public boolean contains(Object o) 

Ez a módszer elemzi egy elemet, amelynek jelenlétét a listában ellenőrizni kell. Visszatér igaz ha az elem illeszkedik, az else visszatér hamis .

Példa

Ebben a példában két ArrayList-et hoztunk létre firstList és második lista nak,-nek Húr típus. Ezeket az ArrayListeket a segítségével hasonlítottuk össze tartalmazza () módszer. Ha a firstList elemei megegyeznek a secondList elemeivel, akkor visszatér Igen és ezt az értéket tárolja harmadikLista . Hasonlóképpen, ha az elem nem egyezik, akkor visszatér Nem .

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

Kimenet

 [Yes, No, No] 

Java contentEquals() metódus

Jáva contentEquals() módszer összehasonlítja a Húr a ... val StringBuffer és visszaadja a logikai érték érték. hozzátartozik Húr osztály.

Szintaxis

 public boolean contentEquals(StringBuffer sb) 

Ez a módszer a StringBuffert paraméterként fogadja el a Stringgel való összehasonlításhoz. Visszatér igaz ha a String ugyanazt a karaktersorozatot képviseli, mint a megadott StringBuffer, az else visszatér hamis .

Példa

Ebben a példában két ArrayList-et hoztunk létre firstList és második lista nak,-nek Húr típus. Létrehoztunk egy statikus metódust ÖsszehasonlításLista() amely két ArrayList elemzi ls1 és ls2 érvként és visszaadja a logikai érték érték. A módszer egy listát alakít át Húr . A contentEquals() metódus összehasonlítja a karakterláncot a megadott StringBufferrel.

Hozzáadtunk egy másik elemet a második listához, hogy különbséget hozzunk a két lista között, és újra meghívjuk a ÖsszehasonlításLista() módszerrel, amely visszaadja hamis .

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

Kimenet

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

Java Stream interfész

Jáva Folyam egy interfész. tartozik hozzá java.util csomag. Biztosítja a szűrő() módszer a stream elemek szűrésére adott elemek alapján. Ez egy közbülső folyamat.

Szintaxis

 Stream filter(Predicate predicate) 

Ez a módszer elfogadja Állítmány (funkcionális interfész) argumentumként, és az eredő elemek új folyamát adja vissza.

reagálni táblázat

collection() metódus

A következő példában egy másik módszert használunk a gyűjt() a metódusa Folyam felület.

Ennek a folyamnak az elemein módosítható redukciós műveletet hajt végre egy Collector segítségével. A Collector beágyazza a gyűjtéshez argumentumként használt függvényeket (Beszállító, BiConsumer, BiConsumer). Lehetővé teszi újrafelhasználása gyűjtési stratégiák és a gyűjtési műveletek összetétele. Ez egy terminál művelet.

Szintaxis

 R collect(Collector collector) 

Collectors.toList() metódus

A listáz() egy statikus módszer Gyűjtők osztály. tartozik hozzá java.util.Stream.Collectors osztály.

Szintaxis

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

Ahol T az elemek típusa. Visszaadja a Gyűjtő amely az összes bemeneti elemet egy listába gyűjti, találkozási (rendezetlen) sorrendben.

Példa

A következő példában két ArrayList-et hoztunk létre firstList és második lista karakterlánc típusú. A szűrő() A metódus mindkét listában megtalálható közös elemek listáját adja vissza.

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

Kimenet

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