logo

Ako porovnať dva ArrayList v Jave

Existujú nasledujúce spôsoby, ako porovnať dva ArrayList v jazyku Java:

  • Java rovná sa() metóda
  • Java odobrať všetky() metóda
  • Java keepAll() metóda
  • Java ArrayList.contains() metóda
  • Java contentEquals() metóda
  • Java Prúd rozhranie

metóda Java equals().

Java rovná sa() spôsob Zoznam rozhranie porovnáva zadaný objekt so zoznamom z hľadiska rovnosti. Prepíše to rovná sa() spôsob Objekt trieda.

Syntax

aký veľký je tento monitor
 boolean equals(Object o) 

Táto metóda akceptuje objekt porovnať z hľadiska rovnosti so zoznamom. Vracia sa pravda ak sa zadaný objekt rovná zoznamu, vráti hodnotu else falošný .

Príklad

V nasledujúcom príklade sme vytvorili dva ArrayList prvý zoznam a druhý zoznam . Porovnanie oboch zoznamov pomocou rovná sa() metóda, vráti hodnotu true. Pridali sme ďalší prvok v druhý zoznam na vytvorenie rozdielu medzi firstList a secondList. Teraz, ak vykonáme porovnanie, vráti sa falošný .

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

Výkon

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

Metóda Java removeAll() (nájdenie chýbajúceho prvku)

Java odobrať všetky() spôsob ArrayList trieda sa používa na odstránenie všetkých prvkov zo zoznamu, ktoré sú obsiahnuté v zadanej kolekcii. Prepíše to odobrať všetky() spôsob AbstractCollection trieda.

Syntax

 public boolean removeAll(Collection c) 

Táto metóda akceptuje Zbierka ako parameter obsahujúci prvky, ktoré sa majú z tohto zoznamu odstrániť. Vracia sa pravda ak sa tento zoznam zmenil v dôsledku hovoru.

Príklad

V nasledujúcom príklade sme vytvorili dva ArrayList prvý zoznam a druhý zoznam . The odobrať všetky() metóda odstráni všetky prvky prvého zoznamu, pretože rovnaké prvky sú prítomné aj v druhom zozname, s výnimkou Papája . takže, Papája je chýbajúci prvok v prvý zoznam . Preto sa vracia Papája . Metóda vracia an prázdny zoznam [] ak oba zoznamy majú rovnaké prvky.

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

Výkon

 [Papaya] 

Pozrime sa na ďalší príklad metódy removeAll(), ktorá vracia prvky z firstList, ktoré nie sú prítomné, je secondList.

Príklad

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

Výkon

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

Metóda Java keepAll() (vracia spoločné prvky v oboch zoznamoch)

Java keepAll() spôsob ArrayList trieda zachováva iba prvky zoznamu, ktoré sú obsiahnuté aj v inom zozname. Prepíše to keepAll() spôsob AbstarctCollection trieda.

ako získať hru holub na android

Syntax

 public boolean retainAll(Collection c) 

Táto metóda akceptuje a Zbierka ako parameter, ktorý obsahuje prvky, ktoré sa majú zachovať v zozname. Vracia sa pravda ak sa tento zoznam zmenil v dôsledku hovoru.

Príklad

V tomto príklade sme vytvorili dva ArrayList prvý zoznam a druhý zoznam pomocou asList() metóda Polia trieda. Metóda asList() vráti zobrazenie zoznamu zadaného poľa.

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

Výkon

 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óda

Java ArrayList.contains() metóda sa používa na porovnanie dvoch prvkov rôznych ArrayList. Java ArrayList.contains() metóda má prednosť obsahuje() spôsob AbstractCollection trieda.

Syntax

 public boolean contains(Object o) 

Táto metóda analyzuje prvok, ktorého prítomnosť v zozname sa má skontrolovať. Vracia sa pravda ak sa prvok zhoduje, vráti sa else falošný .

Príklad

V tomto príklade sme vytvorili dva ArrayList prvý zoznam a druhý zoznam z Reťazec typu. Porovnali sme tieto ArrayList pomocou obsahuje() metóda. Ak sa prvky firstList zhodujú s prvkami secondList, vráti sa Áno a uloží túto hodnotu do tretí zoznam . Podobne, ak sa prvok nezhoduje, vráti sa Nie .

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

Výkon

 [Yes, No, No] 

Java contentEquals() metóda

Java contentEquals() metóda porovnáva Reťazec s StringBuffer a vráti a boolovská hodnota hodnotu. Patrí k Reťazec trieda.

Syntax

 public boolean contentEquals(StringBuffer sb) 

Táto metóda akceptuje StringBuffer ako parameter na porovnanie s reťazcom. Vracia sa pravda ak String predstavuje rovnakú postupnosť znakov ako zadaný StringBuffer, inak sa vráti falošný .

Príklad

V tomto príklade sme vytvorili dva ArrayList prvý zoznam a druhý zoznam z Reťazec typu. Vytvorili sme statickú metódu porovnávať zoznam() ktorý analyzuje dva ArrayList ls1 a ls2 ako argument a vráti a boolovská hodnota hodnotu. Metóda konvertuje zoznam na Reťazec . The contentEquals() metóda porovnáva String so zadaným StringBufferom.

Pridali sme ďalší prvok do secondList, aby sme vytvorili rozdiel medzi oboma zoznamami a znova zavolali porovnávať zoznam() metóda, ktorá vráti falošný .

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

Výkon

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

Rozhranie Java Stream

Java Prúd je rozhranie. Patrí k java.util balík. Poskytuje a filter() metóda na filtrovanie prvkov prúdu na základe daných prvkov. Je to medziprodukt proces.

Syntax

 Stream filter(Predicate predicate) 

Táto metóda akceptuje Predikát (funkčné rozhranie) ako argument a vráti nový prúd výsledných prvkov.

prepísanie java metódy

Collect() metóda

Iná metóda je použitá v nasledujúcom príklade zbierať () spôsob Prúd rozhranie.

Vykonáva operáciu meniteľnej redukcie na prvkoch tohto prúdu pomocou kolektora. Kolektor zapuzdruje funkcie používané ako argumenty na zber (Dodávateľ, BiConsumer, BiConsumer). Umožňuje to opätovné použitie stratégií zberu a zloženia zberných operácií. Je to a terminál prevádzka.

Syntax

 R collect(Collector collector) 

Collectors.toList() metóda

The listovať() je statická metóda Zberatelia trieda. Patrí k java.util.Stream.Collectors trieda.

Syntax

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

Kde T je typ prvkov. Vracia a Zberateľ ktorý zhromažďuje všetky vstupné prvky do zoznamu v poradí (neusporiadanom) stretnutí.

Príklad

V nasledujúcom príklade sme vytvorili dva ArrayList prvý zoznam a druhý zoznam typu String. The filter() metóda vráti zoznam spoločných prvkov, ktoré sú prítomné v oboch zoznamoch.

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

Výkon

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