Coleccionistas que recopilan el método AndThen() en Java con ejemplos

El método collectAndThen(Collector downstream, Function finisher) de los colectores de clase en Java , que adopta Collector para que podamos realizar una transformación de acabado adicional. Sintaxis:

public static <T, A, R, RR> 
       Collector <T, A, RR> 
       collectingAndThen(Collector <T, A, R> downstream, 
                         Function <R, RR> finisher)
                                                             

Where,
    T : The type of the input elements
    A :Intermediate accumulation type of the downstream collector
    R :Result type of the downstream collector
    RR :Result type of the resulting collector

Parámetros: este método acepta dos parámetros que se enumeran a continuación

  • downstream: Es una instancia de un colector, es decir, podemos usar cualquier colector puede aquí.
  • finisher: Es una instancia de una función que se va a aplicar al resultado final del colector aguas abajo.

Devoluciones: Devuelve un colector que realiza la acción del colector aguas abajo, seguido de un paso de acabado adicional, con la ayuda de la función de acabado. A continuación se muestran ejemplos para ilustrar el método coleccionandoYLuego() . Ejemplo 1: Para crear una lista inmutable 

Java

// Write Java code here
// Collectors collectingAndThen() method
 
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
 
public class GFG {
    public static void main(String[] args)
    {
        // Create an Immutable List
        List<String> lt
            = Stream
                  .of("GEEKS", "For", "GEEKS")
                  .collect(Collectors
                               .collectingAndThen(
                                   Collectors.toList(),
                                   Collections::<String> unmodifiableList));
        System.out.println(lt);
    }
}
Producción:

[GEEKS, For, GEEKS]

Ejemplo 2: Para crear un conjunto inmutable. 

Java

// Write Java code here
import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
 
public class GFG {
    public static void main(String[] args)
    {
        // Create an Immutable Set
        Set<String> st
            = Stream
                  .of("GEEKS", "FOR", "GEEKS")
                  .collect(
                      Collectors
                          .collectingAndThen(Collectors.toSet(),
                                             Collections::<String>
                                                 unmodifiableSet));
        System.out.println(st);
    }
}
Producción:

[GEEKS, FOR]

Ejemplo 2: Para crear un mapa inmutable 

Java

import java.util.*;
 
public class GFG {
    public static void main(String[] args)
    {
        // Create an Immutable Map
        Map<String, String> mp
            = Stream
                  .of(new String[][] {
                      { "1", "Geeks" },
                      { "2", "For" },
                      { "3", "Geeks" } })
                  .collect(
                      Collectors
                          .collectingAndThen(
                              Collectors.toMap(p -> p[0], p -> p[1]),
                              Collections::<String, String>
                                  unmodifiableMap));
        System.out.println(mp);
    }
}
Producción:

{1=Geeks, 2=For, 3=Geeks}

Nota: este método se usa más comúnmente para crear colecciones inmutables.

Publicación traducida automáticamente

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