one initialize create and java map in-place

initialize - Actualización de una entrada de mapa de Java



public static map java (3)

Estoy enfrentando un problema que parece no tener una solución directa.

Estoy usando java.util.Map , y quiero actualizar el valor en un par de clave-valor.

En este momento, lo estoy haciendo así:

private Map<String,int> table = new HashMap<String,int>(); public void update(String key, int val) { if( !table.containsKey(key) ) return; Entry<String,int> entry; for( entry : table.entrySet() ) { if( entry.getKey().equals(key) ) { entry.setValue(val); break; } } }

Entonces, ¿hay algún método para poder obtener el objeto Entry requerido sin tener que recorrer todo el Map ? ¿O hay alguna forma de actualizar el valor de la entrada en su lugar? Algún método en Map como setValue(String key, int val) ?

jrh


Si la clave está presente, table.put(key, val) simplemente sobrescribirá el valor, de lo contrario creará una nueva entrada. ¡Maricón! y has terminado. :)

puedes obtener el valor de un mapa usando la clave es table.get(key); Eso es todo


Solo usa el method

public Object put(Object key, Object value)

si la clave ya estaba presente en el Mapa, se devuelve el valor anterior.


Utilizar

table.put(key, val);

para agregar un nuevo par de clave / valor o sobrescribir el valor de una clave existente.

De los Javadocs:

V put (clave K, valor V): Asocia el valor especificado con la clave especificada en este mapa (operación opcional). Si el mapa contenía previamente una asignación para la clave, el valor anterior se reemplaza por el valor especificado. (Se dice que un mapa m contiene una asignación para una clave k si y solo si m.containsKey (k) devuelve verdadero).