Quitar elementos de HashMap por clave en java
Tengo un HashMap como este
public static HashMap<String, Integer> jsonPosition = new HashMap<String, Integer>();
Puse algunos valores como este en mi hashmap
- Solicitud de Android KSOAP2 al servidor SOAP de PHP
- Android Studio - ProGuard IOException Duplicate Zip Entry
- Cómo dibujar un mapa de bits en la parte superior derecha de la lona
- ¿Soporte de Enums con Realm?
- Android-cómo hacer un gradiente de 4 colores de alta calidad?
GlobalClassParameters.jsonPosition.put("another income", GlobalClassParameters.jsonPosition.size());
Ahora quiero quitar los artículos por su llave. Escribí un código que puede eliminar todos los elementos con una clave igual a algún valor.
Object objectToRemove = null; Iterator<Map.Entry<String, Integer>> iter = GlobalClassParameters.jsonPosition.entrySet().iterator(); while (iter.hasNext()) { Map.Entry<String, Integer> entry = iter.next(); if(entry.getKey().equalsIgnoreCase("another income")) { objectToRemove = entry; break; } } if(objectToRemove != null) { GlobalClassParameters.jsonPosition.entrySet().remove(objectToRemove); }
Mi problema es que no necesito quitar todos los objetos con las llaves iguales a mi "otro ingreso", pero quiero quitar solamente un objeto con esa llave.
- Introduzca la manipulación de claves en Libgdx TextField
- Android - Creación de una imagen animada de tipo analógico para el movimiento
- Cómo restringir el tiempo de entrada para edittext en android
- Cómo obtener información de usuario de la lista de contactos de Android
- Deep linking en Android no inicia la aplicación y redirige a Android market market
- ¿Hay alguna manera de usar setOnClickListener con un Spinner de Android?
- ¿Dex y Dalvik soportan la compatibilidad binaria de Java?
- Abrir una imagen en la galería utilizando la ruta del archivo
No se pueden poner valores múltiples para una sola clave en HashMap
. Sólo está sobrescribiendo su valor anterior para esta clave.
Además de mapas tienen métodos de eliminación , que acepta una clave y elimina la entrada para esta clave.
Un HashMap en Java sólo tiene un valor por clave.
"Income" => 4500 "Another Income" => 6700 "Third Income" => 2400
Por lo tanto, si pide al HashMap que elimine el entero detrás de la tecla "Otro Incompleto", sólo hay un valor que se elimina.
Lo siguiente no es posible con un HashMap !!
"Income" => 4500 "Another Income" => 6700 "Another Income" => 5300 "Third Income" => 2400
Uso de este código
HashMap<String, Integer> incomes = new HashMap<String, Integer>(); incomes.put("Income", 4500); incomes.put("Another Income", 6700); incomes.put("Another Income", 5300); incomes.put("Third Income", 2400);
llevará a esto:
"Income" => 4500 "Another Income" => 5300 "Third Income" => 2400
ya que la segunda vez que asigne un valor a "Otro Ingreso", simplemente sobrescribe su primera entrada.
- Cómo utilizar std :: this_thread :: yield () deterministically?
- El uso en la generación de procesos desapareció en Android Studio v1.3