logo

Cómo comparar dos ArrayList en Java

Existen las siguientes formas de comparar dos ArrayList en Java:

  • Java es igual() método
  • Java eliminar todo() método
  • Java retenerTodo() método
  • Java ArrayList.contiene() método
  • Java contenidoEquals() método
  • Java Arroyo interfaz

Método Java igual ()

Java es igual() método de Lista La interfaz compara el objeto especificado con la lista para determinar la igualdad. Anula el es igual() método de Objeto clase.

Sintaxis

javafx
 boolean equals(Object o) 

Este método acepta una objeto para compararse en igualdad con la lista. Vuelve verdadero si el objeto especificado es igual a la lista, de lo contrario devuelve FALSO .

Ejemplo

En el siguiente ejemplo, hemos creado dos ArrayList primera lista y segunda lista . Comparando ambas listas usando es igual() método, devuelve verdadero. Hemos añadido otro elemento en el segunda lista para crear una diferencia entre firstList y secondList. Ahora, si realizamos la comparación, regresa FALSO .

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

Producción

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

Método Java removeAll() (encontrar el elemento que falta)

Java eliminar todo() método de Lista de arreglo La clase se utiliza para eliminar todos los elementos de la lista que están contenidos en la colección especificada. Anula el eliminar todo() método de Colección abstracta clase.

Sintaxis

 public boolean removeAll(Collection c) 

Este método acepta Recopilación como parámetro que contiene elementos que se eliminarán de esta lista. Vuelve verdadero si esta lista cambió como resultado de la convocatoria.

Ejemplo

En el siguiente ejemplo, hemos creado dos ArrayList primera lista y segunda lista . El eliminar todo() El método elimina todos los elementos de la primera Lista porque los mismos elementos también están presentes en la segunda Lista, excepto Papaya . Entonces, Papaya es el elemento que falta en el primera lista . Por lo tanto, regresa Papaya . El método devuelve un lista vacía [] si ambas listas tienen los mismos elementos.

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

Producción

 [Papaya] 

Veamos otro ejemplo del método removeAll() que devuelve los elementos de firstList que no están presentes es secondList.

Ejemplo

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

Producción

 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étodo Java keepAll() (devuelve elementos comunes en ambas listas)

Java retenerTodo() método de Lista de arreglo La clase retiene solo los elementos de la lista que también están contenidos en otra lista. Anula el retenerTodo() método de Colección Abstarct clase.

infierno de devolución de llamada en javascript

Sintaxis

 public boolean retainAll(Collection c) 

Este método acepta una Recopilación como parámetro que contiene elementos que se conservarán en la lista. Vuelve verdadero si esta lista cambió como resultado de la convocatoria.

Ejemplo

En este ejemplo, hemos creado dos ArrayList primera lista y segunda lista usando el comoLista() método de la matrices clase. El método asList() devuelve una vista de lista de la matriz 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); } } 

Producción

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

Método Java ArrayList.contains()

Java ArrayList.contiene() El método se utiliza para comparar dos elementos de diferentes ArrayList. Java ArrayList.contiene() El método anula el contiene() método de ColecciónAbstracta clase.

Sintaxis

 public boolean contains(Object o) 

Este método analiza un elemento cuya presencia en la lista se va a verificar. Vuelve verdadero si el elemento coincide, de lo contrario regresa FALSO .

Ejemplo

En este ejemplo, hemos creado dos ArrayList primera lista y segunda lista de Cadena tipo. Hemos comparado estos ArrayList usando contiene() método. Si los elementos de firstList coinciden con los elementos de secondList, devuelve y almacena este valor en tercera lista . Del mismo modo, si el elemento no coincide, devuelve 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); } } 

Producción

 [Yes, No, No] 

Método Java contentEquals()

Java contenidoEquals() método compara el Cadena con el búfer de cadena y devuelve un booleano valor. Pertenece a Cadena clase.

Sintaxis

 public boolean contentEquals(StringBuffer sb) 

Este método acepta StringBuffer como parámetro para comparar con String. Vuelve verdadero si String representa la misma secuencia de caracteres que el StringBuffer especificado, de lo contrario devuelve FALSO .

Ejemplo

En este ejemplo, hemos creado dos ArrayList primera lista y segunda lista de Cadena tipo. Hemos creado un método estático. compararLista() que analiza dos ArrayList ls1 y ls2 como argumento y devuelve un booleano valor. El método convierte una lista en Cadena . El contenidoEquals() El método compara la cadena con el StringBuffer especificado.

Hemos agregado otro elemento en secondList para crear la diferencia entre ambas listas y nuevamente llamar al compararLista() método, que devuelve FALSO .

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

Producción

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

Interfaz de flujo de Java

Java Arroyo es una interfaz. pertenece a java.util paquete. Proporciona un filtrar() Método para filtrar elementos de flujo en función de elementos dados. Es un intermedio proceso.

Sintaxis

 Stream filter(Predicate predicate) 

Este método acepta Predicado (interfaz funcional) como argumento y devuelve una nueva secuencia de elementos resultantes.

educación de mark zuckerberg

método recopilar ()

Otro método que se utiliza en el siguiente ejemplo es el recolectar() método de Arroyo interfaz.

Realiza una operación de reducción mutable en los elementos de esta secuencia utilizando un Colector. El recopilador encapsula las funciones utilizadas como argumentos para recopilar (Proveedor, BiConsumer, BiConsumer). Permite reutilizar de estrategias de cobranza y composición de las operaciones de cobranza. Es un Terminal operación.

Sintaxis

 R collect(Collector collector) 

Método Collectors.toList()

El Listar() es un método estático de Coleccionistas clase. pertenece a java.util.Stream.Collectors clase.

Sintaxis

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

Dónde t es el tipo de elementos. Devuelve un Coleccionista que recopila todos los elementos de entrada en una Lista, en un orden de encuentro (desordenado).

Ejemplo

En el siguiente ejemplo, hemos creado dos ArrayList primera lista y segunda lista de tipo String. El filtrar() El método devuelve una lista de elementos comunes que están presentes en ambas listas.

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

Producción

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