¿Cómo convertir dos arrays que contienen claves y valores en HashMap en Java?

HashMap es parte del marco de colecciones de Java. Almacena los datos en forma de pares clave-valor. Se puede acceder a estos valores del HashMap usando sus respectivas claves o se puede acceder a los pares clave-valor usando sus índices (de tipo Integer).  HashMap es similar a Hashtable en Java. La principal diferencia entre HashTable y HashMap es que Hashtable está sincronizado pero HashMap no. Además, un HashMap puede tener una clave nula y cualquier número de valores nulos . El orden de inserción no se conserva en HashMap. En un HashMap, las claves y los valores se pueden agregar usando HashMap.put()método. También podemos convertir dos arreglos que contienen claves y valores en un HashMap con sus respectivas claves y valores. 

Ejemplo:

keys = {1,2,3,4,5}
values = {"Welcome","To","Geeks","For","Geeks"}
HashMap = {1=Welcome, 2=To, 3=Geeks, 4=For, 5=Geeks}

Código

Java

// Java program to convert two arrays containing keys and
// values into a HAshMap
  
import java.util.*;
import java.io.*;
  
class GFG {
  
    public static HashMap map(Integer[] keys,
                              String[] values)
    {
        // two variables to store the length of the two
        // given arrays
        int keysSize = keys.length;
        int valuesSize = values.length;
  
        // if the size of both arrays is not equal, throw an
        // IllegalArgumentsException
        if (keysSize != valuesSize) {
            throw new IllegalArgumentException(
                "The number of keys doesn't match the number of values.");
        }
  
        // if the length of the arrays is 0, then return an
        // empty HashMap
        if (keysSize == 0) {
            return new HashMap();
        }
  
        // create a new HashMap of the type of keys arrays
        // and values array
        HashMap<Integer, String> map
            = new HashMap<Integer, String>();
  
        // for every key, value
        for (int i = 0; i < keysSize; i++) {
  
            // add them into the HashMap by calling the
            // put() method on the key-value pair
            map.put(keys[i], values[i]);
        }
  
        // return the HashMap
        return map;
    }
  
    // Driver method
    public static void main(String[] args)
    {
        // create an array for keys
        Integer[] keys = { 1, 2, 3, 4, 5 };
  
        // create an array for value
        String[] values
            = { "Welcome", "To", "Geeks", "For", "Geeks" };
  
        // call the map() method over the keys[] array and
        // values[] array
        Map m = map(keys, values);
  
        // print the returned map
        System.out.println(m);
    }
}
Producción

{1=Welcome, 2=To, 3=Geeks, 4=For, 5=Geeks}

Publicación traducida automáticamente

Artículo escrito por ushashree 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 *