Pegar Key de um Map pela posição

Olá a todos do GUJ, boa tarde.
Pessoal, gostaria de saber como faço pra pegar a Key de um Map passando a posição da chave.
Meu Map estar da seguinte forma:

Map<String, ArrayList<String>> mapTeste = new LinkedHashMap<>();

A partir do código abaixo, gostaria de saber que chaves estão na posição i e j por exemplo.

for (int i = 0; i < mapDatatype.size(); i++) { for (int j = 1 + i; j < mapDatatype.size(); j++) { System.out.println(mapDatatype.get(i) + "\n " + mapDatatype.get(j)); } }
Da maneira que estar, quando mando imprimir é retornado null.
Alguém poderia me dar um dica de como fazer isto?
Desde de já, obrigado pela atenção de todos.

Claro, ou teu mapa tem chaves do tipo int?

Use o Iterator para isto.

Minhas chaves são do tipo String.
Como Iterator? Como que ficaria com Iterator nesse caso? Digo, seguindo a estrutura de dois for.

Um pegando a chave atual e outro pegando a sua chave posterior?

Se você estudar a estrutura da interface Iterator já irá sanar boa parte das dúvidas.
Aliás, não creio que um Map seja a melhor estrutura para o que você quer fazer. Isso me parece mais adequado a um List, enfim.
Com iterator você consegue obter todas as chaves e “caminhar” por elas.
Com um pouco de inteligência e muita boa vontade, você vai conseguir fazer o que quer…

Sendo assim, alguma referência que pode me passar?

Procure aqui.
Mas cuidado, é um site muito complexo. Difícil de usar, o que explica sua baixa popularidade, principalmente entre membros do guj.

import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;

public class Mapas {

	public static void main(String[] args) {
		// listas que será os values do map
		ArrayList&lt;String&gt; lista1 = new ArrayList&lt;String&gt;();
		ArrayList&lt;String&gt; lista2 = new ArrayList&lt;String&gt;();

		// ===================Inicializando lista um com participantes do
		// churrasco setor RH==========================

		lista1.add("Pafuncia Patrelis");
		lista1.add("Morfeu mofarregis");

		// ===================Inicializando lista um com participantes do
		// churrasco setor TI==========================
		lista2.add("Insert Sort Abreu");
		lista2.add("Shell Sort da Silva");

		Map&lt;String, ArrayList&gt;&lt;String&gt;&gt; mapChurrasco = new LinkedHashMap&lt;String, ArrayList&gt;&lt;String&gt;&gt;();

		mapChurrasco.put(&quot;ti&quot;, lista1);
		mapChurrasco.put(&quot;rh&quot;, lista2);

		for (Map.Entry&lt;String, ArrayList&gt;&lt;String&gt;&gt; entry : mapChurrasco.entrySet()) {
			 System.out.println(&quot;-----&gt;Setor &quot;+entry.getKey());
			 
			for (Iterator&lt;String&gt; iterador = entry.getValue().iterator(); iterador.hasNext(); ) {  
				System.out.println(iterador.next());
				
			}
		}
	}
}

[quote=drsmachado]Procure aqui.
Mas cuidado, é um site muito complexo. Difícil de usar, o que explica sua baixa popularidade, principalmente entre membros do guj.[/quote]

Aqui no serviço um colega trabalha em uma consultoria que distribuiu uma camisa pólo com os seguintes dizeres:

“And there are things you cannot find in Google” ou coisa parecida.

É claro que ele se recusa a usar a tal camisa, é muito pretensiosa pro gosto dele.

Pode ser…
Mas, [urlhttps://www.google.com.br/search?q=java.util.iterator&sugexp=chrome,mod=2&sourceid=chrome&ie=UTF-8]neste caso[/url], you`ll find the answers…