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('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())); } }
Saída
First List: [Java, Python, Ruby, Go] Second List: [Java, Python, Ruby, Go, Perl] Common elements: [Java, Python, Ruby, Go]