achar elemento diferente em 2 listas
Gente, como faco para achar os elementos diferentes da lista1, por exemplos:
tenho 2 listas L1 e L2:
L1=123495L2=23457
como faco o laco para achar os elementos diferentes apenas na lista 1?????
tenho 2 listas L1 e L2:
L1=123495L2=23457
como faco o laco para achar os elementos diferentes apenas na lista 1?????
Ramiro Barcelos
Curtidas 0
Respostas
Ramiro Barcelos
09/06/2011
public List<Integer> retornaElementosDiferentesL1(List<Integer> l1, List<Integer> l2){ boolean diferente = true; List<Integer> listaDiferente = new ArrayList<Integer>(); int aux=0; int aux2=0; for (int i = 0; i < l1.size(); i++){ aux = l1.get(i); for (int j = 0; j < l2.size(); j++){ aux2=l2.get(j); if(aux == aux2) diferente=false; } if(diferente == true) listaDiferente.add(aux); } System.out.println("lista de diferentes = "+ listaDiferente); return listaDiferente; }
GOSTEI 0
Davi Costa
09/06/2011
import java.util.ArrayList;
import java.util.List;
public class Executavel {
/**
* @param args
*/
public static void main(String[] args) {
boolean diferente = true;
List<Integer> listaDiferente = new ArrayList<Integer>();
Integer aux = 0;
Integer aux2 = 0;
List<Integer> l1 = new ArrayList<Integer>();
l1.add(1);
l1.add(2);
l1.add(3);
l1.add(4);
l1.add(9);
l1.add(5);
List<Integer> l2 = new ArrayList<Integer>();
l2.add(2);
l2.add(3);
l2.add(4);
l2.add(5);
l2.add(7);
for (int i = 0; i < l1.size(); i++) {
aux = l1.get(i);
if(l1.contains(aux)){
System.out.println("Esse elemento faz parte da lista 1 - "+aux);
}
//se quiser comparar se existe na lista 2
if(l2.contains(aux)){
System.out.println("Esse elemento existe na lista 2 - "+aux);
}else{
listaDiferente.add(aux);
}
}
System.out.println("lista de diferentes = " + listaDiferente);
}
}
GOSTEI 0
Dyego Carmo
09/06/2011
Utilize uma HashSet , coloque as duas lista dentro deste Set , voce vai perceber que a interface Set não permite duplicação :)
Simples e eficiente ;)
Simples e eficiente ;)
GOSTEI 0