Inverter HashMap

3 respostas
T

Gostaria de saber se tem alguma funcao meio de barbada assim pra inverter um hashmap… por exemplo, tenho um HashMap assim:
[“posicao 1”, “valor 1”]
[“posicao 1”, “valor 2”]
["posicao 2, “valor 1”]
["posicao 2, “valor 2”]

queria q ele ficasse
["posicao 2, “valor 1”]
["posicao 2, “valor 2”]
[“posicao 1”, “valor 1”]
[“posicao 1”, “valor 2”]

pq na hora q eu tenho q varrer o hash eh importante q ele esteja nessa ordem inversa…

Abraço

3 Respostas

maquiavelbona

Bom dia,

Na verdade, se você quiser garantir a ordem de inserção dos elementos, você está utilizando a implementação de Map errada. Vide documentação : HashMap. HashMap NÃO garante ordem no mapa. Caso queira uma implementação que garanta ordem de colocação, utilize LinkedHashMap, que num de seus construtores, poderás alegar qual a maneira de percorrer o mapa que irás utilizar, se será por ordem de acesso ou de inserção.

Nada que uma lidinha na documentação não fizesse.

Até!

T

eu sei disso, estou usando um linked, soh q os dados estao sendo inseridos numa funcao recursiva, entao os primeiros a entrar na verdade serao os últimos por causa da recursao, mas depois quando eu usar eles vou querer pela primeira ordem, ou seja, ao contrário do q ele inseriu na recursao…

maquiavelbona

Utilize então o construtor que eu lhe mostrei.

Até!

Criado 29 de agosto de 2007
Ultima resposta 29 de ago. de 2007
Respostas 3
Participantes 2