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<String> lista1 = new ArrayList<String>();
ArrayList<String> lista2 = new ArrayList<String>();
// ===================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<String, ArrayList><String>> mapChurrasco = new LinkedHashMap<String, ArrayList><String>>();
mapChurrasco.put("ti", lista1);
mapChurrasco.put("rh", lista2);
for (Map.Entry<String, ArrayList><String>> entry : mapChurrasco.entrySet()) {
System.out.println("----->Setor "+entry.getKey());
for (Iterator<String> 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…