Como ler um Map

3 respostas
P

Olá estou com uma duvida …

estou alimentando uma classe e jogando em HashMap …

mas gostaria de ler o conteudo do HashMap mas não tenho como fazer isso …usando System.out.println …

Se alguem puder me ajudar agradeceria …

abs

import java.util.HashMap;
import java.util.Iterator;

public class Teste {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		HashMap t = new HashMap();
		
		
		
		
		LinhaRelatorio r = new LinhaRelatorio();
		
		r.setHora("14:00");
		r.setDom("X");
		r.setQua("X");
		
		t.put(r.getHora(),r);
		
		r = new LinhaRelatorio();
		r.setHora("16:00");
		r.setSab("X");
		r.setSex("X");
		
		t.put(r.getHora(),r);
		
		
		System.out.println("saida");
		
		//será que é assim mas esta dando erro
	for (Iterator iter = t.iterator(); iter.hasNext();) {
		LinhaRelatorio element = (LinhaRelatorio) iter.next();
		
	}
		
		
		
		

	}

}

3 Respostas

L

Pô cara, eu fiz assim e funcionou:

public class ExemploMap {
	
                public static void main(String[] args){
		
	               Map<Integer,String> mapa = new HashMap<Integer,String>();
		
		
		mapa.put(4,"S");
		mapa.put(2,"C");
		mapa.put(1,"L");
		
		System.out.println(mapa);
		
		Set<Integer> chave = new HashSet<Integer>(mapa.keySet());
		
		for(Integer e:chave)
			System.out.println("Chave: " + e + " Valor: " + mapa.get(e));
	
	}

}
L

Para Iterar por uma classe que implementa a interface Map, você tem 2 possibilidades:

  1. Se o valor da chave não te interessar, itere pelos valores:

Map m = new TreeMap();

Iterator i = m.values().iterator();

  1. Se o valor da chave interessa, itere pelo conjunto de chaves do map, recupere a chave e peça ao map o objeto associado a ela:

Map m = new TreeMap();

Iterator i = m.keySet().iterator();

while(i.hasNext()){

Chave c = (Chave)i.next();

Valor v = (Valor)m.get©

}

[]s

Leandro

E

Pessoal, estoucom dificuldades. numa consulta realizda, recebo um List com alguns dados. ao fazer o seguinte:

for (Iterator iter = paradas.iterator(); iter.hasNext()<img src="https://cdn.jsdelivr.net/gh/twitter/twemoji@14/assets/72x72/w.pngink.png?v=9" title=":wink:" class="emoji" alt=":wink:">	{

pontoRota.put(“tempoParada” ,(Map) iter.next());

}

e mandei imprimir o conteudo. recebo o seguinte resultado:

paradas=[{HORA_INICIAL=00:00:04, TEMPO=0, DESC=Norsa, NEAR_ID=127348, NEAR_DIST=16, DISTANCIA=0.0, DURACAO=16166000, Y=-3.85426497459412, IGNITION=Sim, VEL_MEDIA=0.0, X=-38.5983963012695, HORA_FINAL=04:29:30}, {HORA_INICIAL=04:30:30, TEMPO=60000, DESC=31922, NEAR_ID=183457, NEAR_DIST=149, DISTANCIA=0.2, DURACAO=4548000, Y=-3.85520339012146, IGNITION=Sim, VEL_MEDIA=22.5944, X=-38.5972785949707, HORA_FINAL=05:46:18}, {HORA_INICIAL=05:47:04, TEMPO=46000, DESC=Norsa, NEAR_ID=127348, NEAR_DIST=115, DISTANCIA=0.262, DURACAO=7591000, Y=-3.85399007797241, IGNITION=Sim, VEL_MEDIA=8.5192, X=-38.5994834899902, HORA_FINAL=07:53:35}, {HORA_INICIAL=08:38:26, TEMPO=2691000, DESC=214798, NEAR_ID=189499, NEAR_DIST=59, DISTANCIA=0.378, DURACAO=4052000, Y=-3.73167490959167, IGNITION=Sim, VEL_MEDIA=11.4824, X=-38.4907531738281, HORA_FINAL=09:45:58}}

eu queria ter acesso ao valores, tipo ao chamar a HORA_INICIAL, teria o valor 00:00:04. mas não sei como fazer isso. como devo proceder?

Criado 26 de maio de 2006
Ultima resposta 3 de abr. de 2007
Respostas 3
Participantes 4