Ordenar HashMap [Resolvido]

9 respostas
criador

Bom dia…
Tenho uma classe que recebe por parâmetro um String[] e já no construtor eu alimento este array de String’s em um HashMap.
Mas ao inserí-los no hash, a ordem é alterada.

Exemplo:

Enviei por parâmetro para a minha classe: “A”, “B”, “C”
Ao receber estes valores no hash, fica assim: “C”, “A”, “B”.

Não quero que o hash bagunce a ordem, quero que ele continue com a mesma ordem de quando chegou (“A”, “B”, “C”).

Alguém pode me ajudar ???

Valeu por enquanto!

9 Respostas

T

Use:

Map<String> map = new LinkedHashMap<String>();
ramilani12

O HashMap não mantém os valores ordenados o que vc precisa é implementar um Comparator para ordenar os valores do seu Map
Veja aqui como fazer:

http://www.guj.com.br/posts/list/75736.java

criador

Valeu thingol.
Fechou…Abraço!

Andre_Brito

Pessoal,

Não é mais fácil usar TreeMap?

Abraço.

criador

Olha, se é mais fácil eu não sei, mas com LinkedHashMap funcionou corretamente.
Mas valeu a dica Andre Brito.
Falou!

ramilani12

Vc quer ordenar as chaves ou valores?

criador

Os valores…

T

Veja como a língua portuguesa confunde “sorted” com “ordered”. Em inglês “ordered” (que é o que ele queria, afinal de contas) indica que os dados devem ser mantidos na ordem em que eles vieram, e “sorted” indica que eles devem ficar em alguma ordem predeterminada, como a numérica ou alfabética (também chamada “lexicográfica”).
Ele queria “ordered”, não “sorted”.

criador

Esse é o professor thingol…
Bem explicado :wink:

Criado 8 de janeiro de 2009
Ultima resposta 8 de jan. de 2009
Respostas 9
Participantes 4