¿Cómo reemplazar los valores clave en el hashMap de la colección Java?
No puedo encontrar una buena manera más que iterar a través de todo el mapa hash una vez, registrar la clave del valor que se va a reemplazar, luego eliminarlo e ingresar un nuevo valor basado en la clave. El código de muestra es el siguiente (reemplace el valor de EE. UU. en la colección de hashmap con "EE. UU."): ?public?static?void?main(String[]args){
// Claves y valores reemplazados
int?replace_key?=?-1; //La clave donde se encuentra el valor USA aún no se conoce, especifique el valor predeterminado -1
//Nuevo clave y valor
int?new_key;
String?new_value?=?"US";
HashMaplt;Integer,?Stringgt;?countries?=? new?put(3,? " Australia");
// Recorre el mapa hash una vez antes de reemplazarlo y registra la clave donde se encuentra el valor "EE.UU." a reemplazar
System.out.println("--- --- antes de que ----------- fuera reemplazado --");
Countries.put(2,? --") ;
Iteratorlt; Entrylt;Entero,?Stringgt;gt;?iterator?=?countries.entrySet().iterator();
while(iterator.hasNext( )){
Map.Entrylt ;Entero,?Stringgt;?entry?=?iterator.next();
Entero?key?=?entry.getKey();
Cadena?valor?=?entrada .getValue();
if(valor.equals("EE.UU.")){
reemplazar_clave?=?clave;
}
System.out.println(key ": " value);
}
//Iniciar el reemplazo y reemplazar el valor EE.UU. con ?EE.UU. con la clave 2;
if(replace_key!=?-1){
countries.remove(replace_key);
países. put(replace_key,?new_value);
}
//Recorre el nuevo mapa hash para ver si el reemplazo se realizó correctamente
System.out.println(" -------- ha sido --- ------------ Reemplazar ");
Iterador lt; entrada lt; entero, ? cadena gt; gt; ? iterador 2 ? = ?
EntrySet().iterator();
while(iterator2.hasNext()){
Map.Entrylt;Integer,?Stringgt;?entry?=?iterator2.next() ;
Entero?key?=?entry.getKey();
Cadena?value?=?entry.getValue();
System.out. println(key ": " value);
} }
Efecto operativo: