Conversión de ArrayList a HashMap en Java 8 usando una expresión Lambda

Una expresión lambda es una o más líneas de código que funcionan como función o método. Toma un parámetro y devuelve el valor. La expresión Lambda se puede usar para convertir ArrayList en HashMap.

Sintaxis:

(parms1, parms2) -> expression

Ejemplos:

Input : List : [1="1", 2="2", 3="3"]
Output: Map  : {1=1, 2=2, 3=3, 4=4, 5=5}

Input : List : [1="I", 2="love", 3="Geeks" , 4="for" , 5="Geeks"]
Output: Map  : {1=I, 2=Love, 3=Geeks, 4=For, 5=Geeks}

Acercarse:

  1. Obtener la Lista para convertirla en Mapa
  2. Crear un mapa vacío
  3. Coloque los valores de la lista en el mapa usando Lambda Expression
  4. Devolver el Mapa formado

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

Java

// Converting ArrayList to HashMap
// in Java 8 using a Lambda Expression
import java.util.*;
import java.util.ArrayList;
import java.util.Scanner;
 
// here we are making a class , and we will make
class ListItems {
 
    // key will act as an id of the value
    private Integer key;
 
    // value will be the value of the above key
    private String value;
 
    // create constructor for reference
    public ListItems(Integer id, String name)
    {
 
        // assigning the value of key and value
        this.key = id;
        this.value = name;
    }
 
    // return private variable key
    public Integer getkey() { return key; }
 
    // return private variable name
    public String getvalue() { return value; }
}
class Main {
    public static void main(String[] args)
    {
        // Write your code here
 
        // Creating a List of type ListItems using ArrayList
        List<ListItems> list = new ArrayList<ListItems>();
 
        // add the member of list
        list.add(new ListItems(1, "I"));
        list.add(new ListItems(2, "Love"));
        list.add(new ListItems(3, "Geeks"));
        list.add(new ListItems(4, "For"));
        list.add(new ListItems(5, "Geeks"));
 
        // Map which will store the list items
        Map<Integer, String> map = new HashMap<>();
 
        // for (ListItems n : list) { map.put(n.getkey(),
        // n.getvalue()); }
        // the below lambda  performs the same task as the
        // above given for loop will do
        // put the list items in the Map
        list.forEach(
            (n) -> { map.put(n.getkey(), n.getvalue()); });
 
        // Printing the given map
        System.out.println("Map : " + map);
    }
}
Producción

Map : {1=I, 2=Love, 3=Geeks, 4=For, 5=Geeks}

Complejidad de tiempo: O(N), donde N es la longitud de Arraylist.

Publicación traducida automáticamente

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