Dado un HashMap y una clave en Java, la tarea es eliminar una entrada de este HashMap usando la clave, mientras se itera sobre ella.
Ejemplos:
Input: HashMap: {1=Geeks, 2=ForGeeks, 3=GeeksForGeeks}, key = 2 Output: {1=Geeks, 3=GeeksForGeeks} Input: HashMap: {1=G, 2=e, 3=e, 4=k, 5=s}, key = 3 Output: {1=G, 2=e, 4=k, 5=s}
- Usando Java 7 y antes:
- Obtenga el HashMap y la clave
- Cree un iterador para iterar sobre HashMap utilizando el método HashMap.iterate().
- Iterar sobre HashMap utilizando el método Iterator.hasNext().
- Mientras itera, verifique que la clave en esa iteración sea igual a la clave especificada. La clave de entrada del Mapa se puede obtener con la ayuda del método entry.getKey().
- Si la clave coincide, elimine la entrada de esa iteración del HashMap usando el método remove().
- La entrada requerida ha sido eliminada con éxito.
Programa:
// Java program to remove an entry using key
// from a HashMap while iterating over it
import
java.util.*;
public
class
GFG {
public
static
void
main(String[] args)
{
// Create a HashMap
HashMap<Integer, String>
map =
new
HashMap<>();
// Populate the HashMap
map.put(
1
,
"Geeks"
);
map.put(
2
,
"ForGeeks"
);
map.put(
3
,
"GeeksForGeeks"
);
// Get the key to be removed
int
keyToBeRemoved =
2
;
// Print the initial HashMap
System.out.println(
"Original HashMap: "
+ map);
// Get the iterator over the HashMap
Iterator<Map.Entry<Integer, String> >
iterator = map.entrySet().iterator();
// Iterate over the HashMap
while
(iterator.hasNext()) {
// Get the entry at this iteration
Map.Entry<Integer, String>
entry
= iterator.next();
// Check if this key is the required key
if
(keyToBeRemoved == entry.getKey()) {
// Remove this entry from HashMap
iterator.remove();
}
}
// Print the modified HashMap
System.out.println(
"Modified HashMap: "
+ map);
}
}
Producción:Original HashMap: {1=Geeks, 2=ForGeeks, 3=GeeksForGeeks} Modified HashMap: {1=Geeks, 3=GeeksForGeeks}
- Usando expresiones lambda de Java 8:
- Obtenga el HashMap y la clave
- Obtenga el conjunto de entradas de este mapa utilizando el método HashMap.entrySet().
- Usando la expresión lambda, elimine la entrada del mapa si la clave es igual a la clave especificada. La clave de entrada del Mapa se puede obtener con la ayuda del método entry.getKey().
- La entrada requerida ha sido eliminada con éxito.
Programa:
// Java program to remove an entry using key
// from a HashMap while iterating over it
import
java.util.*;
public
class
GFG {
public
static
void
main(String[] args)
{
// Create a HashMap
HashMap<Integer, String>
map =
new
HashMap<>();
// Populate the HashMap
map.put(
1
,
"Geeks"
);
map.put(
2
,
"ForGeeks"
);
map.put(
3
,
"GeeksForGeeks"
);
// Get the key to be removed
int
keyToBeRemoved =
2
;
// Print the initial HashMap
System.out.println(
"Original HashMap: "
+ map);
// Remove the specified entry from the Map
map.entrySet()
.removeIf(
entry -> (keyToBeRemoved == entry.getKey()));
// Print the modified HashMap
System.out.println(
"Modified HashMap: "
+ map);
}
}
Producción:Original HashMap: {1=Geeks, 2=ForGeeks, 3=GeeksForGeeks} Modified HashMap: {1=Geeks, 3=GeeksForGeeks}
Publicación traducida automáticamente
Artículo escrito por RishabhPrabhu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA