¿Cómo convertir LinkedHashMap en dos arrays en Java?

LinkedHashMap es una clase predefinida en Java como HashMap . La única diferencia entre LinkedHashMap y HashMap es que LinkedHashMap conserva el orden de inserción mientras que HashMap no conserva el orden de inserción. LinkedHashMap puede convertirse en dos arrays en Java, donde una array es para clave en LinkedHashMap y otra array para valores. 

Ejemplo :

Input : LinkedHashMap = [2=6, 3=4, 5=7, 4=6]
Output:
Array of keys = [2, 3, 5, 4]
Array of Values = [6, 4, 7, 6]

Input : LinkedHashMap = [1=a, 2=b, 3=c, 4=d]
Output:
Array of keys = [1, 2, 3, 4]
Array of Values = [a, b, c, d]

Algoritmo:

  1. Tome la entrada en LinkedHashMap con claves y valores respectivos.
  2. Cree una array con el mismo tipo de datos que el de las claves en LinkedHashMap.
  3. Cree otra array con el mismo tipo de datos que el de los valores en LinkedHashMap.
  4. Inicie el recorrido de LinkedHashMap.
  5. Copie cada clave y valor en dos arrays.
  6. Después de completar el recorrido, imprima ambas arrays.

A continuación se muestra la implementación del enfoque anterior:

Java

// Java Program to Convert LinkedHashMap to Two Arrays
import java.io.*;
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
        LinkedHashMap<Integer, Integer> lhm
            = new LinkedHashMap<>();
  
        lhm.put(2, 6);
        lhm.put(3, 4);
        lhm.put(5, 7);
        lhm.put(4, 6);
        lhm.put(6, 8);
  
        Integer[] Keys = new Integer[lhm.size()];
  
        Integer[] Values = new Integer[lhm.size()];
        int i = 0;
        
        // Using for-each loop
        for (Map.Entry mapElement : lhm.entrySet()) {
            Integer key = (Integer)mapElement.getKey();
  
            // Add some bonus marks
            // to all the students and print it
            int value = ((int)mapElement.getValue());
  
            Keys[i] = key;
            Values[i] = value;
            i++;
        }
        
        // printing all the element of array contain keys
        System.out.print("Array of Key -> ");
        for (Integer key : Keys) {
            System.out.print(key + ", ");
        }
  
        // iterate value array
        System.out.println();
        System.out.print("Array of Values -> ");
        for (Integer value : Values) {
            System.out.print(value + ", ");
        }
    }
}
Producción

Array of Key -> 2, 3, 5, 4, 6, 
Array of Values -> 6, 4, 7, 6, 8, 

Complejidad de tiempo: O(n)

Publicación traducida automáticamente

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