Categoria:
Coleções (Collections)
Sub-Categoria:
ArrayList [Veja dicas relacionadas]
Como excluir todos os elementos de uma ArrayList exceto aqueles contidos em outra ArrayList ou coleção
Em algumas situações pode ser útil sabermos como remover todos os elementos de uma ArrayList mas preservar os elementos que estão contidos em outra ArrayList ou coleção. Para isso podemos usar o método retainAll(), que a classe ArrayList herda da interface java.util.List. Veja sua assinatura:
boolean retainAll(Collection<?> c)
E agora veja um exemplo de seu uso:
import java.util.ArrayList;
public class Estudos{
public static void main(String[] args){
// cria uma ArrayList que conterá strings
ArrayList<String> nomes = new ArrayList<String>();
// cria uma segunda ArrayList que conterá mais strings
ArrayList<String> nomes2 = new ArrayList<String>();
// adiciona itens na primeira lista
nomes.add("Carlos");
nomes.add("Maria");
nomes.add("Fernanda");
nomes.add("Osmar");
nomes.add("Zacarias");
// adiciona itens na segunda lista
nomes2.add("Maria");
nomes2.add("Zacarias");
// vamos remover da primeira lista todos os elementos
// EXCETO aqueles contidos na segunda lista
nomes.retainAll(nomes2);
// vamos exibir o resultado
for(int i = 0; i < nomes.size(); i++){
System.out.println(nomes.get(i));
}
System.exit(0);
}
}
|