Tengo un HashMap
con varias claves y valores, ¿cómo puedo obtener un valor?
Tengo una clave en el mapa llamada my_code
, debe contener una cadena, ¿cómo puedo obtenerla sin tener que recorrer el mapa?
Hasta ahora tengo ..
HashMap newMap = new HashMap(paramMap);
String s = newMap.get("my_code").toString();
Espero ver un String
, como "ABC" o "DEF", ya que eso es lo que puse allí inicialmente, pero si lo hago System.out.println()
, obtengo algo comojava.lang.string#F0454
Lo siento, no estoy muy familiarizado con los mapas como probablemente puedas adivinar;)
fuente
Si está almacenando claves / valores como cadenas, esto funcionará:
La pregunta es qué se llena en el HashMap (clave y valor)
fuente
Si usará Generics y definirá su mapa como
luego obtener valor como
no se le pedirá que escriba el map.get () o llame al método toString para obtener el valor de String
fuente
Su pregunta no está del todo clara, me temo. Una clave no tiene un "nombre"; no se "llama" nada en lo que respecta al mapa, es solo una clave y se comparará con otras claves. Si tiene muchos tipos diferentes de claves, le sugiero encarecidamente que las coloque en diferentes mapas en aras de la cordura.
Si esto no ayuda, por favor aclare la pregunta, preferiblemente con algún código para mostrar lo que quiere decir.
fuente
map.get(myCode)
fuente
Un punto importante a tener en cuenta aquí es que si su clave es un objeto de la clase definida por el usuario en Java, haga que sea un punto para anular el método de igualdad. Debido a que el método HashMap.get (clave de objeto) utiliza el método igual para hacer coincidir el valor de la clave. Si no anula el método igual, intentará encontrar el valor simplemente en función de la referencia de la clave y no del valor real de la clave, en cuyo caso siempre devolverá un valor nulo.
fuente
Supongamos que declaraste HashMap como: -
Luego, la clave en el mapa es de tipo Tipo de datos de caracteres y valor de tipo int. Ahora, para obtener el valor correspondiente a la clave independientemente del tipo de clave, tipo de valor, la sintaxis es: -
Entonces, de acuerdo con su pregunta, desea obtener el valor de cadena correspondiente a una clave. Para esto, simplemente declare HashMap como HashMap <"tipo de datos de clave", "tipo de datos de valor" hs = new HashMap <> (); El uso de esto hará que su código sea más limpio y tampoco tendrá que convertir el resultado de hs.get ("my_code") en una cadena, ya que de forma predeterminada devuelve el valor de la cadena si en el momento de la entrada se ha mantenido el valor como una cadena.
fuente
Este es otro ejemplo de cómo usar las funciones keySet (), get (), values () y entrySet () para obtener claves y valores en un mapa:
fuente
Puede usar el método get (clave de objeto) de HashMap. Tenga en cuenta que en muchos casos su clase de clave debería anular el método de igualdad, para ser una clase útil para una clave de mapa.
fuente
El valor asignado a la clave
4
esDD
fuente