Ordenar HashMap [Resolvido]

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!

Use:

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

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

Valeu thingol.
Fechou…Abraço!

Pessoal,

Não é mais fácil usar TreeMap?

Abraço.

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

Vc quer ordenar as chaves ou valores?

Os valores…

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”.

Esse é o professor thingol…
Bem explicado :wink: