Convertir ArrayList a HashMap en Java

Array List se puede convertir en HashMap, pero HashMap no mantiene el orden de ArrayList. Para mantener el orden, podemos usar LinkedHashMap que es la implementación de HashMap.

Básicamente , hay dos formas diferentes de convertir ArrayList a Hashmap-

  1. Uso de la iteración ArrayList
  2. Uso de la iteración de ArrayList con LinkedHashMap

Usando la iteración ArrayList:

Aquí, solo necesitamos iterar en cada uno de los elementos de ArrayList y el elemento se puede convertir en el par clave-valor y almacenar en HashMap. 

Java

// Java program to convert ArrayList
// to HashMap
  
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
  
public class ArrayListExample {
    public static void main(String[] args)
    {
         
        // ArrayList of string
        ArrayList<String> languageList
           = new ArrayList<>(Arrays.asList("Java", "C++", "Python", 
                                           "PHP", "NodeJS"));
  
        System.out.println(
            "-------------ArrayList---------------");
       
        
        // printing the ArrayList
        for (String language : languageList)
        {
           System.out.println(language);
        }
  
        System.out.println(
            "--------------HashMap----------------");
         
        // convertArrayListToHashMap() method directly 
        // converts ArrayList to Hashmap
        HashMap<String, Integer> languageMap = convertArrayListToHashMap(languageList);
    
        // printing the HashMap
        for (Map.Entry<String, Integer> entry : languageMap.entrySet()) {
  
            System.out.println(entry.getKey() + " : "
                               + entry.getValue());
        }
    }
  
    private static HashMap<String, Integer>
    convertArrayListToHashMap(ArrayList<String> arrayList)
    {
  
        HashMap<String, Integer> hashMap = new HashMap<>();
  
        for (String str : arrayList) {
  
            hashMap.put(str, str.length());
        }
  
        return hashMap;
    }
}
Producción

-------------ArrayList---------------
Java
C++
Python
PHP
NodeJS
--------------HashMap----------------
Java : 4
C++ : 3
PHP : 3
NodeJS : 6
Python : 6

Usando la iteración de ArrayList con LinkedHashMap:

  • Aquí, la Lista de arrays se convierte en un HashMap, pero HashMap no mantiene el orden de la Lista de arrays.
  • Para mantener el orden, usamos LinkedHashMap, que es una implementación de HashMap y nos ayuda a mantener el orden de los elementos, y podemos convertir fácilmente Arraylist en Hashmap.

Java

// Java program to convert ArrayList
// to HashMap
  
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.*;
  
public class ArrayListExample {
    public static void main(String[] args)
    {
        // ArrayList of string
        ArrayList<String> languageList
            = new ArrayList<>(Arrays.asList(
                "Java", "C++", "Python", "PHP", "NodeJS"));
  
        System.out.println(
            "-------------ArrayList---------------");
          
        // printing the ArrayList
        for (String language : languageList) {
  
            System.out.println(language);
        }
  
        System.out.println(
            "--------------HashMap----------------");
         
        // convertArrayListToHashMap() method directly 
        // converts ArrayList to HashMap
        HashMap<String, Integer> languageMap
            = convertArrayListToHashMap(languageList);
  
        
        // printing the HashMap
        for (Map.Entry<String, Integer> entry :
             languageMap.entrySet()) {
  
            System.out.println(entry.getKey() + " : "
                               + entry.getValue());
        }
    }
  
    private static HashMap<String, Integer>
                       convertArrayListToHashMap(ArrayList<String> arrayList)
    {
  
        LinkedHashMap<String, Integer> linkedHashMap
                                  = new LinkedHashMap<>();
  
        for (String str : arrayList) {
  
            linkedHashMap.put(str, str.length());
        }
  
        return linkedHashMap;
    }
}
Producción

-------------ArrayList---------------
Java
C++
Python
PHP
NodeJS
--------------HashMap----------------
Java : 4
C++ : 3
Python : 6
PHP : 3
NodeJS : 6

Publicación traducida automáticamente

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