• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Wasted

Iterable + Classes génericas

3 mensagens neste tópico

Boas tardes, deparo-me com dificuldade a implementar o seguinte método:

//removes the duplicates from the iterable collection

public static <E> removeDuplicates(Iterable<E> a) {}

Como hei de fazer isto? Já tentei chamar o método iterator() mas no entanto como me é possível eliminar objectos repetidos na colecção, se apenas posso andar para a frente? Agradecia uma ajuda..Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que é suposto devolver? Recebe uma colecção iterável de E's e devolve um E?

Código para remover duplicados:

public static <E> removeDuplicates(Iterable<E> a) {

     HashSet set  = new HashSet();
     
     Iterator<E> it = a.iterator();

     while(it.hasNext()){
        E x = it.next();
        if(!set.add(x)) { //se o objecto já existe no Set, elimina-se esta cópia
           it.remove();
        }
     }
  return //??;
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ops, lapso meu. Não é suposto devolver nada, apenas alterar o colecção :D. Obrigado!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora