Problemas com logica em LinkedList[RESOLVIDO]

2 respostas
E

Olá pessoal.
Estou com uma duvida em lógica.
Eu fiz uma LinkedList de LinkedList

LinkedList<LinkedList<Integer>> busca = new LinkedList();

Agora eu preciso contar, quantos elementos possuem em comum nas listas.
Por exemplo: A minha lista de lista eh representada pela “busca”
eu tenho 2 listas inseridas em busca.
Na primeira lista eu tenho os valorres 3,4,5,6,7.
E na segunda lista eu tenho os valores 3,7,8,10.
Neste caso os valores em comum são 3 e 7.
Eu quero armazenar o valor 2, que representa a quantidade de numeros que repetem em cada lista.
Espero que tenha ficado claro.

Obrigado

2 Respostas

E

Pegue as listas, converta em Set, use o método retainAll e o método size.

Método retainAll : http://docs.oracle.com/javase/6/docs/api/java/util/Set.html#retainAll(java.util.Collection)

Dando um exemplo.

package guj;

import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;

public class TesteInterseccaoConjuntos {
    public static void main(String[] args) {
        List<Integer> listaA = Arrays.asList(new Integer[] {
            3, 4, 5, 6, 7
        });
        List<Integer> listaB = Arrays.asList(new Integer[] {
            3, 7, 8, 10
        });
        Set<Integer> setA = new TreeSet<Integer>(listaA);
        setA.retainAll(listaB);
        System.out.println(setA);
        int nElementosInterseccao = setA.size();
        System.out.println(nElementosInterseccao);
    }
}
E

Nossa cara, muito obrigado

Exactamente o que eu precisava

Criado 24 de outubro de 2012
Ultima resposta 24 de out. de 2012
Respostas 2
Participantes 2