¿Cómo convertir ArrayList a HashMap antes de Java 8?

ArrayList es una array de tamaño variable. Está bajo el paquete java java.util. Da arrays dinámicas en Java. ArrayList es útil en programas donde se requieren muchos cambios en la array, pero estos también son más lentos que las arrays estándar. Los elementos de una ArrayList se pueden agregar y eliminar cuando sea necesario.

HashMap es una estructura de datos que almacena elementos en pares «Clave/Valor». Se puede acceder a ellos mediante un índice de otro tipo como un String. El HashMap se denota como HashMap<Clave, Valor>. Esto es muy similar a HashTable, pero permite el uso de valores nulos y claves nulas. No devuelve las claves y los valores en el mismo orden en que se almacenan en HashMap. También está bajo el paquete java java.util.

Ahora, para convertir ArrayList a HashMap , ambos casos de uso se consideran para ilustrar el concepto de anulación también

  1. ArrayList inicial no tiene duplicados
  2. ArrayList inicial tiene valores duplicados.

Caso 1: la forma más ideal de convertir un ArrayList en HashMap antes de Java 8 es mediante la iteración sobre el ArrayList dado usando un bucle for mejorado e insertando String como clave y su longitud como valor en HashMap. Aquí, cada elemento de ArrayList puede convertirse en un par clave-valor y almacenarse en HashMap. Este método también maneja cualquier duplicado en ArrayList debido a las entradas insertadas que anulan los valores en caso de claves duplicadas. En este caso, no se lanza ningún error o excepción.

Ejemplo: ArrayList inicial no tiene duplicados

Java

// Program to convert ArrayList
// to Hashmap before Java 8
 
// Name of ArrayList chosen randomly: vehicleList
 
// Importing java generic libraries
import java.util.*;
 
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Creating ArrayList
        ArrayList<String> vehicleList
            = new ArrayList<>(Arrays.asList(
                "Car", "Bike", "Bus", "Cycle", "Rickshaw"));
 
        // Display message to enter ArrayList
        System.out.println("ArrayList: \n");
 
        // Printing ArrayList
        for (String vehicle : vehicleList) {
            System.out.println(vehicle);
        }
 
        // Display message to separate above
        // list from hashmap for readability
        System.out.println("\nHashMap: \n");
 
        // Creating Hashmap
        HashMap<String, Integer> vehicleMap
            = convertArrayListToHashMap(vehicleList);
 
        for (Map.Entry<String, Integer> entry :
             vehicleMap.entrySet()) {
            System.out.println(entry.getKey() + " : "
                               + entry.getValue());
        }
    }
 
    // Converting ArrayList to HashMap
    private static HashMap<String, Integer>
    convertArrayListToHashMap(ArrayList<String> arrayList)
    {
        HashMap<String, Integer> hashMap = new HashMap<>();
 
        // For-each loop for iteration
        for (String str : arrayList) {
            hashMap.put(str, str.length());
        }
 
        // Returning converted Hashmap
        return hashMap;
    }
}
Producción

ArrayList: 

Car
Bike
Bus
Cycle
Rickshaw

HashMap: 

Bus : 3
Rickshaw : 8
Car : 3
Bike : 4
Cycle : 5

Caso 2: ArrayList inicial tiene valores duplicados donde anula el valor debido a una clave duplicada en HashMap.

Java

// Program to convert ArrayList
// to Hashmap before Java 8
 
// Importing java generic libraries
import java.util.*;
 
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Creating ArrayList
        ArrayList<String> vehicleList = new ArrayList<>(
 
            // Presence of Duplicate Elements
            Arrays.asList("Car", "Bike", "Bus", "Cycle",
                          "Rickshaw", "Car", "Bike"));
 
        System.out.println("ArrayList: \n");
 
        // Printing ArrayList
        for (String vehicle : vehicleList) {
            System.out.println(vehicle);
        }
 
        // Display message just after ArrayList is printed
        // for better readability
        System.out.println("\nHashMap: \n");
 
        // Creating HashMap
        HashMap<String, Integer> vehicleMap
            = convertArrayListToHashMap(vehicleList);
 
        // Printing above HashMap
        for (Map.Entry<String, Integer> entry :
             vehicleMap.entrySet()) {
            System.out.println(entry.getKey() + " : "
                               + entry.getValue());
        }
    }
 
    // Converting ArrayList to HashMap
    private static HashMap<String, Integer>
    convertArrayListToHashMap(ArrayList<String> arrayList)
    {
        HashMap<String, Integer> hashMap = new HashMap<>();
 
        // For-each loop for iteration
        for (String str : arrayList) {
            hashMap.put(str, str.length());
        }
 
        // Returning converted HashMap
        return hashMap;
    }
}
Producción

ArrayList: 

Car
Bike
Bus
Cycle
Rickshaw
Car
Bike

HashMap: 

Bus : 3
Rickshaw : 8
Car : 3
Bike : 4
Cycle : 5

Publicación traducida automáticamente

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