Inserir ítens em um hashmap

4 respostas
aquilante

Pessoal muito boa tarde,

Eu tenho o seguinte trecho:

Grafo grafo = new Grafo();
        List<Map> result = new ArrayList<Map>();
        
        HashMap parms = new HashMap();
        parms.put("origem:", grafo.getOrigem());
        parms.put("destino:", grafo.getDestino());
        parms.put("arco:", grafo.getArco());
        parms.put("custo:", grafo.getCusto());
        result.add(parms);
        
        System.out.println("[" + parms + "]");

Dessa forma eu consigo acessar o conteúdo das variávei de meu hashmap, mas eu quero inserir dados, por exemplo via teclado. Qual seria a melhor forma de inserir valores e depois imprimi-los?

Eu tentei dessa forma mas retorna null:

Grafo saida = new Grafo();
		String chave = JOptionPane.showInputDialog(null, "insira o Origem");
		
		if (chave.isEmpty()) {
			JOptionPane.showMessageDialog(null, "Origem vazia!");
		}
		saida = (Grafo)parms.get(chave);

        System.out.println("[" + saida + "]");

Vlw! :lol:

4 Respostas

jzf

Pelo o que eu entendi do seu código é que em

#  if (chave.isEmpty()) {  
#             JOptionPane.showMessageDialog(null, "Origem vazia!");  
#         }  
#         saida = (Grafo)parms.get(chave);  
#   
#         System.out.println("[" + saida + "]");

ele executa mesmo caso o usuário não digita nada. Tente
[code]
# if (chave.isEmpty()) {
# JOptionPane.showMessageDialog(null, "Origem vazia!");
# }
# else {
# saida = (Grafo)parms.get(chave);
#
# System.out.println("[" + saida + "]");
# }

jzf

Pelo o que eu entendi do seu código é que em

#  if (chave.isEmpty()) {  
#             JOptionPane.showMessageDialog(null, "Origem vazia!");  
#         }  
#         saida = (Grafo)parms.get(chave);  
#   
#         System.out.println("[" + saida + "]");

ele executa mesmo caso o usuário não digita nada. Tente
[code]
# if (chave.isEmpty()) {
# JOptionPane.showMessageDialog(null, "Origem vazia!");
# }
# else {
# saida = (Grafo)parms.get(chave);
#
# System.out.println("[" + saida + "]");
# }

M

Olá, parece que a lógica está correta. Deixa eu ver se entendi: você tem um hashmap já preenchido e você quer através da chave buscar o valor?
Para a chave que você forneceu você tem um valor??

felipedamiani

Tenta:

if ("".equals(chave)) {    
             JOptionPane.showMessageDialog(null, "Origem vazia!");    
         }    
         saida = (Grafo)parms.get(chave);    
    
         System.out.println("[" + saida + "]");
Criado 4 de março de 2008
Ultima resposta 4 de mar. de 2008
Respostas 4
Participantes 4