Boa noite Pessoal,
Tenho duas Listas com números, como posso comparar essas duas listas e adicionar em uma terceira os numeros que não são comuns.
Lista 1 (1,2,3,4,5,6)…
Lista 2 (1,2,3,4,5,)…
Lista3 seria (6)
Vlw Pessoal…
Feliz Natal a todos!
Boa noite Pessoal,
Tenho duas Listas com números, como posso comparar essas duas listas e adicionar em uma terceira os numeros que não são comuns.
Lista 1 (1,2,3,4,5,6)…
Lista 2 (1,2,3,4,5,)…
Lista3 seria (6)
Vlw Pessoal…
Feliz Natal a todos!
se puder posta seu codigo pra ficar melhor!!
vlw
abs
O algoritimo é beeem simples. Se vc precisar programar isso, basta pensar um pouquinho.
Se vc quer algo da API que faça o serviço, o quê você quer fazer é diferença entre dois conjuntos. Para isso vc pode usar um Set.
Olhe aqui a documentação da interface Set. O método removeAll.
Outras coleções, como List, tem o método removeAll, mas conceitualmente a diferença, que é o que você quer, deve ser feita em cima de conjuntos (Sets).
[]´s
List<Integer> lista1 = Arrays.asList(new Integer[] {1,2,3,4,5,6});
List<Integer> lista2 = Arrays.asList(new Integer[] {1,2,3,4,5});
List<Integer> lista3 = new ArrayList<Integer>(lista1);
lista3.removeAll(lista2);
List<Integer> lista1 = Arrays.asList(new Integer[] {1,2,3,4,5,6}); List<Integer> lista2 = Arrays.asList(new Integer[] {1,2,3,4,5}); List<Integer> lista3 = new Array<Integer>(lista1); lista3.removeAll(lista2);
Acho que deve colocar ArrayList e não apenas Array.
List<Integer> lista3 = new ArrayList<Integer>(lista1);
Mas interessante pq torna a comparação muito simples mesmo.
List<Integer> lista1 = Arrays.asList(new Integer[] {1,2,3,4,5,6}); List<Integer> lista2 = Arrays.asList(new Integer[] {1,2,3,4,5}); List<Integer> lista3 = new Array<Integer>(lista1); lista3.removeAll(lista2);Acho que deve colocar ArrayList e não apenas Array.
List<Integer> lista3 = new ArrayList<Integer>(lista1);Mas interessante pq torna a comparação muito simples mesmo.
Na verdade ele usou o método asList da classe Arrays! =)
E quem foi que usou apenas array?
E quem foi que usou apenas array?
Como eu disse, achei interessante a comparação, então fui fazer um código usando seu exemplo.
Porém nessa linha:
List<Integer> lista3 = new Array<Integer>(lista1);
não consigo compilar o código, tenho a seguinte mensagem: Error:(20,35) cannot find symbol class Array
Então alterei a linha acima para:
List<Integer> lista3 = new ArrayList<Integer>(lista1);
e funcionou perfeitamente.
List<Integer> lista3 = new ArrayList<Integer>(lista1);
e funcionou perfeitamente.
Aah sim, agora que vi, tinha um erro lá. Era ArrayList mesmo.
Pensei que vc tava falando dos arrays primitivos.