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