Lista encadeada

5 respostas
J

Estou precisando de um metodo que insere palavras em uma lista porem, se for lida uma palavra repetida a lista nao pode recebe-la, sendo assim, a lista nunca poderá alocar palavras repetidas.

Desde já agradeço.

5 Respostas

tinorberto

essa propriedade que vc quer tem nos Set dos collection.

Vc pode usar o HashSet ou LinkedHashSet de uma olhada na documentação.

flw

ViniGodoy

Outra alternativa é usar um TreeSet, assim a lista ainda fica ordenada.

Exemplo:

Set<String> palavras = new TreeSet<String>();
palavras.add("Maçã");
palavras.add("Banana");
palavras.add("Limão");
palavras.add("Maçã");
palavras.add("Abacaxi");
palavras.add("Banana");
palavras.add("Pêra");

for (String palavra : palavras) {
   System.out.println(palavra);
}
Kanin_Dragon

Você pode utilizar implementações da interface Set.

HashSet ou TreeSet ambos não aceitam elementos duplicados a única diferença entre ambos e que TreeSet os elementos são ordenandos por ordem de insersão.

Abs,

ViniGodoy

Como eu demonstrei no exemplo anterior, o TreeSet é ordenado pela ordenação natural, feita pela interface Comparable, ou por um Comparator:

O HashSet não tem qualquer tipo de ordenação lógica garantida.

E é o LinkedHashSet que mantém a ordem de inserção.

Kanin_Dragon

Como eu demonstrei no exemplo anterior, o TreeSet é ordenado pela ordenação natural, feita pela interface Comparable, ou por um Comparator:

O HashSet não tem qualquer tipo de ordenação lógica garantida.

E é o LinkedHashSet que mantém a ordem de inserção.

ViniGodoy,

Você tem razão, acabei explicando errado para o colega acima.

Criado 27 de fevereiro de 2011
Ultima resposta 28 de fev. de 2011
Respostas 5
Participantes 4