Manipular Key de HashMap

Olá,

Preciso manipular os indices de um map ou list. Eles está sempre ordenados, de 0 até o último elemento.

O método é chamado e insere um novo elemento em qualquer posição, a partir do parâmetro, mas precisa inserir e atualizar o indice dos elementos seguintes a ele.


public void adiciona(int linhaPor) {
		if(this.produtos.containsKey(linhaPor) == true) {
			HashMap<Integer, String> hashTemp = new HashMap<Integer, String>();
			String temp;
			for (int i = linhaPor; i < this.produtos.size(); i++) {
				temp = produtos.remove(linhaPor);
				hashTemp.put(linhaPor+1, temp);
			}
			
			this.produtos.put(linhaPor, "String");
			
			this.produtos.putAll(hashTemp);	
		}else{
			this.produtos.put(linhaPor, "String");
			System.out.println(produtos);
		}
	}

Desde já obrigado! :wink:

A Hash nativamente ordena os itens para otimizar acesso posterior, para vc manter o indíce de acordo com a inserção utilize LikedHashMap