Diferencia entre el método keySet() y entrySet() en Java Map

Map Interface está presente en el paquete Java.util, que proporciona principalmente tres métodos KeySet(), entrySet() y values(). Estos métodos se utilizan para recuperar las claves del mapa, los pares clave-valor del mapa y los valores del mapa, respectivamente. Dado que estos métodos son parte de la interfaz del mapa, podemos usar estos métodos con todas las clases que implementan la interfaz del mapa, como TreeMap, HashMap y LinkedHashMap.

Método keySet():

El método java.util.HashMap.keySet() en Java se utiliza para crear un conjunto de elementos clave contenidos en el mapa hash. Básicamente, devuelve una vista de conjunto de las claves o podemos crear un nuevo conjunto y almacenar los elementos clave en ellos.

Sintaxis:

hash_map.keySet()

Parámetros: El método no toma ningún parámetro.

Valor devuelto: el método devuelve un conjunto que tiene las claves del mapa hash.

Java

// Java program demonstrating use of keySet()
 
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.stream.Stream;
 
class GFG {
    public static void main(String[] args)
    {
        // making map of Integer keys and String values
        Map<Integer, String> map = new HashMap<>();
       
        // adding the key-value pairs to map
        map.put(1, "Geeks");
        map.put(2, "For");
        map.put(3, "Geeks");
 
        // below are the different and simple ways out of
        // many  to iterate over the keySet()
 
        // iterating the keySet() using iterator
        Iterator<Integer> itr = map.keySet().iterator();
       
        while (itr.hasNext())
        {
            System.out.print(itr.next() + " ");
        }
        System.out.println();
 
        // iterating the keySet() using for loop
        for (Integer key : map.keySet()) {
            System.out.print(key + " ");
        }
 
        System.out.println();
       
        // iterating over the keySet() by converting the map
        // to the string
        System.out.println(map.keySet().toString());
    }
}
Producción

1 2 3 
1 2 3 
[1, 2, 3]

Método entrySet() :

El método java.util.HashMap.entrySet() en Java se usa para crear un conjunto de los mismos elementos contenidos en el mapa hash. Básicamente, devuelve una vista establecida del mapa hash o podemos crear un nuevo conjunto y almacenar los elementos del mapa en ellos.

Sintaxis:

hash_map.entrySet()

Parámetros: El método no toma ningún parámetro.

Valor devuelto: el método devuelve un conjunto que tiene los mismos elementos que el mapa hash.

Java

// Java program demonstrating use of  entrySet()
 
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.stream.Stream;
 
class GFG {
    public static void main(String[] args)
    {
        // making map of Integer keys and String values
        Map<Integer, String> map = new HashMap<>();
       
        // adding the key-value pairs to map
        map.put(1, "Geeks");
        map.put(2, "For");
        map.put(3, "Geeks");
 
        // below are the different and simple ways out of
        // many  to iterate over the entrySet()
 
        // iterating the key value pair using for each loop
        for (Map.Entry<Integer, String> entry :map.entrySet())
        {
            Integer key = (Integer)entry.getKey();
            String value = entry.getValue();
 
            System.out.println(key + "=" + value);
        }
       
        // iterating the key-value pairs using iterator
        Iterator<Map.Entry<Integer, String> > itr = map.entrySet().iterator();
       
        while (itr.hasNext()) {
            System.out.println(itr.next());
        }
       
        // iterating the key-value pairs using Stream.of()
        // method
        Stream.of(map.entrySet().toArray())
            .forEach(System.out::println);
    }
}
Producción

1=Geeks
2=For
3=Geeks
1=Geeks
2=For
3=Geeks
1=Geeks
2=For
3=Geeks
juego de llaves() conjuntoentrada()
Este método devuelve la vista Conjunto de todas las claves presentes en el mapa, es decir, devuelve un conjunto de claves. Este método devuelve la vista Conjunto de todas las asignaciones presentes en el mapa, es decir, devuelve un conjunto de pares clave-valor.
Si se producen cambios en el mapa, también se pueden observar en el conjunto, ya que el conjunto está respaldado por el mapa.  Para el método entrySet() también, si se producen cambios en el mapa, también se pueden observar en el conjunto, ya que el conjunto está respaldado por el mapa. 
Si itera a través de todos los pares de mapas usando keySet(), entonces el rendimiento de keySet() es más pobre en comparación con entrySet(), ya que para cada clave, tenemos que acceder a su valor correspondiente usando la función get(). Al iterar a través de todos los pares del mapa utilizando entrySet(), el rendimiento de entrySet() es mucho mejor en comparación con keySet().

Su sintaxis es -:

hashmap.keySet()

Su sintaxis es -:

hashmap.entrySet()

No toma ningún parámetro. No tiene excepciones.

Publicación traducida automáticamente

Artículo escrito por lavishgarg26 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *