Hi ha maneres següents de comparar dos ArrayList a Java:
- Java és igual() mètode
- Java esborra-ho tot() mètode
- Java retainAll() mètode
- Java ArrayList.contains() mètode
- Java contentEquals() mètode
- Java corrent interfície
Mètode Java equals().
Java és igual() mètode de Llista La interfície compara l'objecte especificat amb la llista d'igualtat. Anul·la el és igual() mètode de Objecte classe.
Sintaxi
img css align
boolean equals(Object o)
Aquest mètode accepta un objecte per ser comparat per igualtat amb la llista. Torna veritat si l'objecte especificat és igual a la llista, en cas contrari retorna fals .
Exemple
A l'exemple següent, hem creat dos ArrayList firstList i segonaLlista . Comparant ambdues llistes utilitzant és igual() mètode, retorna cert. Hem afegit un altre element al segonaLlista per crear una diferència entre firstList i secondList. Ara, si fem la comparació, torna fals .
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); } }
Sortida
[Apple, Pears, Guava, Mango] [Apple, Pears, Guava, Mango] true false
Mètode Java removeAll() (trobar l'element que falta)
Java esborra-ho tot() mètode de ArrayList class s'utilitza per eliminar tots els elements de la llista que es troben a la col·lecció especificada. Anul·la el esborra-ho tot() mètode de Col·lecció d'abstractes classe.
Sintaxi
public boolean removeAll(Collection c)
Aquest mètode accepta Col · lecció com a paràmetre que conté elements a eliminar d'aquesta llista. Torna veritat si aquesta llista ha canviat com a conseqüència de la convocatòria.
Exemple
A l'exemple següent, hem creat dues ArrayList firstList i segonaLlista . El esborra-ho tot() El mètode elimina tots els elements de la firstList perquè els mateixos elements també estan presents a la secondList, excepte Papaia . Tan, Papaia és l'element que falta al firstList . Per tant, torna Papaia . El mètode retorna un llista buida [] si totes dues la llista tenen els mateixos elements.
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); } }
Sortida
[Papaya]
Vegem un altre exemple del mètode removeAll() que retorna els elements de firstList que no estan presents és el secondList.
Exemple
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); } }
Sortida
First array list: [12, 4, 67, 90, 34] Second array list: [12, 4, 67, 0, 34] Un-common element of the first list: [90]
Mètode Java retainAll() (retorna elements comuns en ambdues llistes)
Java retainAll() mètode de ArrayList class conserva només els elements de la llista que també estan continguts en una altra llista. Anul·la el retainAll() mètode de Col·lecció Abstarct classe.
executant scripts a linux
Sintaxi
public boolean retainAll(Collection c)
Aquest mètode accepta a Col · lecció com a paràmetre que conté els elements que s'han de retenir a la llista. Torna veritat si aquesta llista ha canviat com a conseqüència de la convocatòria.
Exemple
En aquest exemple, hem creat dues ArrayList firstList i segonaLlista utilitzant el asList() mètode de la Arrays classe. El mètode asList() retorna una vista de llista de la matriu especificada.
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); } }
Sortida
First arraylist: [M, W, J, K, T] Second arraylist: [M, W, E, K, T] Common elements in both list: [M, W, K, T]
Mètode Java ArrayList.contains().
Java ArrayList.contains() El mètode s'utilitza per comparar dos elements de ArrayList diferent. Java ArrayList.contains() mètode anul·la el conté () mètode de Col·lecció Abstract classe.
Sintaxi
public boolean contains(Object o)
Aquest mètode analitza un element la presència del qual a la llista s'ha de comprovar. Torna veritat si l'element coincideix, en cas contrari retorna fals .
Exemple
En aquest exemple, hem creat dues ArrayList firstList i segonaLlista de Corda tipus. Hem comparat aquests ArrayList utilitzant conté () mètode. Si els elements de firstList coincideixen amb els elements de secondList, retorna Sí i emmagatzema aquest valor en tercera llista . De la mateixa manera, si l'element no coincideix, retorna No .
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); } }
Sortida
[Yes, No, No]
Mètode Java contentEquals().
Java contentEquals() mètode compara el Corda amb el StringBuffer i torna a booleà valor. Pertany a Corda classe.
Sintaxi
public boolean contentEquals(StringBuffer sb)
Aquest mètode accepta StringBuffer com a paràmetre per comparar amb String. Torna veritat si la cadena representa la mateixa seqüència de caràcters que el StringBuffer especificat, en cas contrari retorna fals .
Exemple
En aquest exemple, hem creat dues ArrayList firstList i segonaLlista de Corda tipus. Hem creat un mètode estàtic compareList() que analitza dos ArrayList ls1 i ls2 com a argument i retorna a booleà valor. El mètode converteix una llista en Corda . El contentEquals() El mètode compara String amb el StringBuffer especificat.
Hem afegit un altre element a la secondList per crear la diferència entre ambdues llistes i tornar a cridar el compareList() mètode, que retorna fals .
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)); } }
Sortida
When Lists are same: true When Lists are not same: false
Interfície Java Stream
Java corrent és una interfície. Pertany a java.util paquet. Proporciona a filtre () mètode per filtrar elements del flux en funció d'elements donats. És un intermedi procés.
Sintaxi
Stream filter(Predicate predicate)
Aquest mètode accepta Predicat (interfície funcional) com a argument i retorna un nou flux d'elements resultants.
tipus de dades en java
mètode collect().
Un altre mètode que s'utilitza en l'exemple següent és el recollir () mètode de corrent interfície.
Realitza una operació de reducció mutable sobre els elements d'aquest flux mitjançant un Col·lector. El Col·lector encapsula les funcions utilitzades com a arguments per recopilar (Proveïdor, BiConsumer, BiConsumer). Permet reutilització d'estratègies de recollida i composició de les operacions de recollida. És un terminal funcionament.
Sintaxi
R collect(Collector collector)
Mètode Collectors.toList().
El llistar() és un mètode estàtic de Col·leccionistes classe. Pertany a java.util.Stream.Collectors classe.
Sintaxi
public static Collector<t, ?, list> toList() </t,>
On T és el tipus d'elements. Torna a Col·leccionista que recull tots els elements d'entrada en una llista, en un ordre de trobada (no ordenat).
Exemple
A l'exemple següent, hem creat dues ArrayList firstList i segonaLlista de tipus String. El filtre () El mètode retorna una llista d'elements comuns presents a ambdues llistes.
import java.util.*; public class CompareArrayListExample7 { public static void main(String[] args) { ArrayList firstList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go')); System.out.println('First List: '+firstList); ArrayList secondList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go', 'Perl')); System.out.println('Second List: '+secondList); // Finds common elements System.out.print('Common elements: ' +firstList.stream().filter(secondList::contains).collect(Collectors.toList())); } }
Sortida
First List: [Java, Python, Ruby, Go] Second List: [Java, Python, Ruby, Go, Perl] Common elements: [Java, Python, Ruby, Go]