Conversión de ArrayList a HashMap usando Method Reference en Java 8

Las estructuras de datos son una bendición para todos los que codifican. Pero, ¿hay alguna forma de convertir una estructura de datos en otra? ¡Pues parece que sí! En este artículo, aprenderemos cómo convertir un ArrayList a HashMap utilizando la referencia de método en Java 8.

Ejemplo:

Elements in ArrayList are : [Pen, Pencil, Book, Headphones]
Elements in HashMap are :{Pen=3, Pencil=6, Book=4, Headphones=10}

En Java 8, hay dos métodos para lograr nuestro objetivo:

  1. Conversión de una ArrayList a HashMap usando la expresión Lambda.
  2. Conversión de una ArrayList a HashMap usando la referencia del método .

Método: uso de la referencia del método

El uso de Method Reference comparativamente hace que el código se vea más limpio en comparación con Lambda Expression.

  • Function.identity() se refiere a un elemento que se convierte en la clave del HashMap.
  • String::length permite almacenar la longitud del elemento como su valor respetado.

Java

// Java program for Converting ArrayList to
// HashMap using method reference in Java 8
  
import java.io.*;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
  
class GFG {
    public static void main(String[] args)
    {
  
        // creating arraylist to add elements
        ArrayList<String> fruits = new ArrayList<>();
        fruits.add("Banana");
        fruits.add("Guava");
        fruits.add("Pineapple");
        fruits.add("Apple");
  
        // printing contents of arraylist before conversion
        System.out.println("Elements in ArrayList are : "
                           + fruits);
  
        // creating new hashmap and using method reference
        // with necessary classes for the conversion
        HashMap<String, Integer> res = fruits.stream().collect(Collectors.toMap(
                Function.identity(), String::length,
                (e1, e2) -> e1, HashMap::new));
  
        // printing the elements of the hashmap
        System.out.println("Elements in HashMap are : "
                           + res);
    }
}
Producción

Elements in ArrayList are : [Banana, Guava, Pineapple, Apple]
Elements in HashMap are : {Guava=5, Apple=5, Pineapple=9, Banana=6}

Publicación traducida automáticamente

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