Diferencia entre el método value() y entrySet() en el mapa de Java

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 1: método de valores () 

El método java.util.HashMap.values() de la clase HashMap en Java se usa para crear una colección a partir de los valores del mapa. Básicamente, devuelve una vista de colección de los valores en HashMap.

Sintaxis:

Hash_Map.values()

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

Valor devuelto: el método se utiliza para devolver una vista de colección que contiene todos los valores del mapa.

Ejemplo:

Java

// Java program demonstrating use of values() method
 
// Importing all input output classes
import java.io.*;
// Importing HashMap, Iterator, Map and Stream classes
// from the java.util package
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.stream.Stream;
 
// Class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Creating a Map object
        // Declaring object of String and integer type
        Map<Integer, String> map = new HashMap<>();
 
        // Now, adding the elements to the object created
        // Elements here are key- \value pairs
 
        // Custom input objects
        map.put(1, "Geeks");
        map.put(2, "For");
        map.put(3, "Geeks");
 
        // Showcasing different ways to illustrate
        // values() method
 
        // Way 1 - Using iterator
        // Iterating over the object elements of the
        // showcasing the values() method using iterator
 
        // Creating an object of Integer type
        Iterator<String> itr = map.values().iterator();
 
        // Condition check which holds true till
        // there is single elementusing hasNext() method
        while (itr.hasNext()) {
 
            // Traversing across the elements
            // using next() method
 
            // Printing the elements in the object
            System.out.print(itr.next() + " ");
        }
 
        // New line
        System.out.println();
 
        // Way 2 - Using loops
        // Iterating over the elements using for-each loop
        // to showacase value() method
        for (String key : map.values()) {
 
            // Printing all the element in object
            // key-value pairs
            System.out.println(key);
        }
 
        // New line
        System.out.println();
 
        // Iterating over the values() method by
        // converting the Map to the string
        System.out.println(map.values().toString());
    }
}
Producción

Geeks For Geeks 
Geeks
For
Geeks

[Geeks, For, Geeks]

Método 2: 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.

Implementación:

Ejemplo 

Java

// Java program demonstrating use of entrySet() method
 
//  Importing Map,Stream, hashMap and Iterator classes
// from the java.util package
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.stream.Stream;
 
// Class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Creating an object of Map class
        // Declaring object of Integer and String type
        Map<Integer, String> map = new HashMap<>();
 
        // Now, adding the elements to the object
        // Here elements are key-value pairs to map
 
        // Custom input elements
        map.put(1, "Geeks");
        map.put(2, "For");
        map.put(3, "Geeks");
 
        // Now, proposing different cases in which we will
        // be iterating over the elements using entrySet()
 
        // Case 1
        // Iterating the key value pairs
        // using for each loop
        for (Map.Entry<Integer, String> entry :
             map.entrySet()) {
 
            // Corresponding key
            Integer key = (Integer)entry.getKey();
 
            // Corresponding pair
            String value = entry.getValue();
 
            // Printing all the corresponding key-value
            // pairs
            System.out.println(key + "=" + value);
        }
 
        // Case 2
        // Iterating the key-value pairs
        // using iterator
        Iterator<Map.Entry<Integer, String> > itr
            = map.entrySet().iterator();
 
        // Condition check using hasNext() method holding
        // true till there is single entry remaining
        while (itr.hasNext()) {
 
            // Go on printing key-value pairs
            System.out.println(itr.next());
        }
 
        // Case 3
        // Iterating and printing the key-value pairs
        // using Stream.of() method
 
        // Printing alongside by using scope resolution
        // operator
        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

Ahora veamos las diferencias entre el método de valores() y el método de entrada()

Método de valores() Método entrySet()
Este método devuelve la vista de colección de todos los valores contenidos en el mapa. 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 la colección, ya que el mapa respalda la colección de métodos.   Si se producen cambios en el mapa, también se pueden observar en el conjunto, ya que el conjunto está respaldado por el mapa. 
Este método se usa cuando solo necesitamos tratar con valores presentes en el mapa.  Este método se usa cuando necesitamos tratar con claves y valores presentes en el mapa. 

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 *