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

 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.

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.

  • Obtener la suma de comprobación de los códigos fuente en la biblioteca de Android
  • La aplicación de cámara de llamadas recrea la actividad de Android
  • Adición de objetos independientes a una RealmList
  • ¿Cómo administrar un DialogFragment con RxJava?
  • ¿Cómo puedo dividir la lógica de HttpUrlConnection en varios métodos?
  • Cómo definir negrita en un selector de Android?
  • Cambiar imagen de contacto mediante programación
  • Cómo establecer mediante programación un bloqueo o un pin para una aplicación
  • Obtener la duración del mp3 en android
  • ¡Omitió 49 cuadros! La aplicación puede estar haciendo demasiado trabajo en su hilo principal
  • ¿Cómo usar la API Android KeyStore con API 18?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.