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.

  • Uso de ImageMagick en mi aplicación Android
  • Cómo utilizar HdmiControlService
  • ¿Actividad de llamada de ViewHolder en RecyclerView?
  • Compilando la cadena como código durante el tiempo de ejecución en Android
  • Las transacciones en la base de datos no funcionan en android
  • Android SQLiteException "no such table" durante la compilación: tabla INSERT INTO
  • ¿Cómo leer y escribir UTF-8 al disco en el Android?
  • ¿Cómo puedo obtener datos de frecuencia de PCM usando FFT
  • La conexión a LocalHost / 10.0.2.2 de Android Emulator ha caducado
  • Abra la aplicación para Android cuando la conexión a Internet esté activada, de lo contrario no mostrará ningún mensaje de conexión a Internet
  • Cómo solucionar el error: No se pudo encontrar el método onClick (View) en un padre o ancestro Contexto para android: onClick
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.