Inverter HashMap

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

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é!

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…

Utilize então o construtor que eu lhe mostrei.

Até!