logo

Como comparar dois ArrayList em Java

Existem as seguintes maneiras de comparar dois ArrayList em Java:

  • Java é igual a() método
  • Java deletar tudo() método
  • Java reterTudo() método
  • Java ArrayList.contains() método
  • Java contentEquals() método
  • Java Fluxo interface

Método Java igual()

Java é igual a() método de Lista interface compara o objeto especificado com a lista em busca de igualdade. Ele substitui o é igual a() método de Objeto aula.

Sintaxe

bota de mola
 boolean equals(Object o) 

Este método aceita um objeto a ser comparado quanto à igualdade com a lista. Ele retorna verdadeiro se o objeto especificado for igual à lista, caso contrário, retornará falso .

Exemplo

No exemplo a seguir, criamos dois ArrayList primeiraLista e segundaLista . Comparando as duas listas usando é igual a() método, ele retorna verdadeiro. Adicionamos outro elemento no segundaLista para criar uma diferença entre firstList e secondList. Agora, se fizermos uma comparação, ela retornará 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); } } 

Saída

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

Método Java removeAll() (encontrar o elemento ausente)

Java deletar tudo() método de ListaArray class é usada para remover todos os elementos da lista que estão contidos na coleção especificada. Ele substitui o deletar tudo() método de Coleção Abstrata aula.

Sintaxe

 public boolean removeAll(Collection c) 

Este método aceita Coleção como um parâmetro contendo elementos a serem removidos desta lista. Ele retorna verdadeiro se esta lista mudou como resultado da chamada.

Exemplo

No exemplo a seguir, criamos dois ArrayList primeiraLista e segundaLista . O deletar tudo() método remove todos os elementos da firstList porque os mesmos elementos também estão presentes na secondList, exceto Mamão . Então, Mamão é o elemento que falta no primeiraLista . Portanto, ele retorna Mamão . O método retorna um lista vazia [] se ambas as listas tiverem os mesmos 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); } } 

Saída

 [Papaya] 

Vamos ver outro exemplo do método removeAll() que retorna os elementos de firstList que não estão presentes é o secondList.

Exemplo

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

Saída

 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() (retorna elementos comuns em ambas as listas)

Java reterTudo() método de ListaArray A classe retém apenas os elementos da lista que também estão contidos em outra lista. Ele substitui o reterTudo() método de AbstarctCollection aula.

programação java números primos

Sintaxe

 public boolean retainAll(Collection c) 

Este método aceita um Coleção como um parâmetro que contém elementos a serem retidos na lista. Ele retorna verdadeiro se esta lista mudou como resultado da chamada.

Exemplo

Neste exemplo, criamos dois ArrayList primeiraLista e segundaLista usando o comoLista() método do Matrizes aula. O método asList() retorna uma visualização de lista do array especificado.

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

Saída

 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.contains() O método é usado para comparar dois elementos de ArrayList diferentes. Java ArrayList.contains() método substitui o contém() método de Coleção Abstrata aula.

Sintaxe

 public boolean contains(Object o) 

Este método analisa um elemento cuja presença na lista deve ser verificada. Ele retorna verdadeiro se o elemento for correspondido, caso contrário, retornará falso .

Exemplo

Neste exemplo, criamos dois ArrayList primeiraLista e segundaLista de Corda tipo. Comparamos esses ArrayList usando contém() método. Se os elementos de firstList corresponderem aos elementos de secondList, ele retornará Sim e armazena esse valor em terceiraLista . Da mesma forma, se o elemento não corresponder, ele retornará Não .

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

Saída

 [Yes, No, No] 

Método Java contentEquals()

Java contentEquals() método compara o Corda com o StringBuffer e retorna um boleano valor. Isso pertence a Corda aula.

Sintaxe

 public boolean contentEquals(StringBuffer sb) 

Este método aceita StringBuffer como parâmetro para comparação com String. Ele retorna verdadeiro se a String representar a mesma sequência de caracteres que o StringBuffer especificado, caso contrário, retornará falso .

Exemplo

Neste exemplo, criamos dois ArrayList primeiraLista e segundaLista de Corda tipo. Criamos um método estático compararLista() que analisa dois ArrayList ls1 e ls2 como um argumento e retorna um boleano valor. O método converte uma lista em Corda . O contentEquals() compara a String com o StringBuffer especificado.

Adicionamos outro elemento na secondList para criar a diferença entre as duas listas e novamente chamamos o compararLista() método, que retorna 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)); } } 

Saída

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

Interface de fluxo Java

Java Fluxo é uma interface. Pertence a java.util pacote. Ele fornece um filtro() método para filtrar elementos de fluxo com base em determinados elementos. É um intermediário processo.

Sintaxe

 Stream filter(Predicate predicate) 

Este método aceita Predicado (interface funcional) como argumento e retorna um novo fluxo de elementos resultantes.

np padrão

método coletar()

Outro método usado no exemplo a seguir é o coletar() método de Fluxo interface.

Ele executa uma operação de redução mutável nos elementos deste fluxo usando um Coletor. O Coletor encapsula as funções usadas como argumentos para coletar (Fornecedor, BiConsumer, BiConsumer). Ele permite reutilizando de estratégias de cobrança e composição das operações de cobrança. É um terminal Operação.

Sintaxe

 R collect(Collector collector) 

Método Collectors.toList()

O listar() é um método estático de Colecionadores aula. Pertence a java.util.Stream.Collectors aula.

Sintaxe

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

Onde T é o tipo de elementos. Ele retorna um Colecionador que coleta todos os elementos de entrada em uma Lista, em uma ordem de encontro (não ordenada).

Exemplo

No exemplo a seguir, criamos dois ArrayList primeiraLista e segundaLista do tipo String. O filtro() O método retorna uma lista de elementos comuns que estão presentes em ambas as 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())); } } 

Saída

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