Inserir ítens em um hashmap

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:

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

[code]# if (chave.isEmpty()) {

JOptionPane.showMessageDialog(null, “Origem vazia!”);

}

saida = (Grafo)parms.get(chave);

System.out.println("[" + saida + “]”); [/code]

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 + “]”);

}

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

[code]# if (chave.isEmpty()) {

JOptionPane.showMessageDialog(null, “Origem vazia!”);

}

saida = (Grafo)parms.get(chave);

System.out.println("[" + saida + “]”); [/code]

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 + “]”);

}

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??

Tenta:

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