Eu tenho um HashMap
com várias chaves e valores, como posso obter um valor?
Eu tenho uma chave no mapa chamada my_code
, ela deve conter uma string, como posso obtê-la sem precisar percorrer o mapa?
Até agora eu tenho ..
HashMap newMap = new HashMap(paramMap);
String s = newMap.get("my_code").toString();
Espero ver um String
, como "ABC" ou "DEF", como foi o que eu coloquei lá inicialmente, mas se eu fizer System.out.println()
isso, recebo algo comojava.lang.string#F0454
Desculpe, eu não estou muito familiarizado com mapas, como você provavelmente pode adivinhar;)
fonte
Se você estiver armazenando chaves / valores como seqüências de caracteres, isso funcionará:
A questão é o que é preenchido no HashMap (chave e valor)
fonte
Se você usar Genéricos e definir seu mapa como
buscando o valor como
você não precisará digitar o map.get () ou chamar o método toString para obter o valor String
fonte
Sua pergunta não está clara, eu tenho medo. Uma chave não tem um "nome"; não é "chamado" de nada no que diz respeito ao mapa - é apenas uma chave e será comparado com outras chaves. Se você tem muitos tipos diferentes de chaves, sugiro fortemente que você os coloque em mapas diferentes por uma questão de sanidade.
Se isso não ajudar, esclareça a pergunta - de preferência com algum código para mostrar o que você quer dizer.
fonte
map.get(myCode)
fonte
Um ponto importante a ser observado aqui é que, se sua chave é um objeto da classe definida pelo usuário em java, faça questão de substituir o método equals. Como o método HashMap.get (chave do objeto) usa o método equals para corresponder ao valor da chave. Se você não substituir o método equals, ele tentará encontrar o valor simplesmente com base na referência da chave e não no valor real da chave; nesse caso, ele sempre retornará um valor nulo.
fonte
Suponha que você tenha declarado o HashMap como: -
Em seguida, a chave no mapa é do tipo Tipo de dados de caractere e valor do tipo int. Agora, para obter o valor correspondente à chave, independentemente do tipo de chave, tipo de valor, sintaxe, é: -
Portanto, de acordo com sua pergunta, você deseja obter o valor da string correspondente a uma chave. Para isso, basta declarar HashMap como HashMap <"tipo de dados da chave", "tipo de dados do valor" hs = new HashMap <> (); Usar isso tornará seu código mais limpo e você também não precisará converter o resultado de hs.get ("my_code") em string, por padrão, retornará o valor da string se, no momento da entrada, mantivermos o valor como string.
fonte
Este é outro exemplo de como usar as funções keySet (), get (), values () e entrySet () para obter chaves e valores em um mapa:
fonte
Você pode usar o método get (chave do objeto) no HashMap. Esteja ciente de que em muitos casos sua classe de chave deve substituir o método equals, para ser uma classe útil para uma chave de mapa.
fonte
O valor mapeado para Key
4
éDD
fonte