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:
- Conversión de una ArrayList a HashMap usando la expresión Lambda.
- 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