Programa para convertir un Set a Stream en Java usando Generics

Java Set es parte del paquete java.util y amplía la interfaz java.util.Collection. No permite el uso de elementos duplicados y, como máximo, solo puede acomodar un elemento nulo.

Un Stream es una secuencia de objetos que admite varios métodos que se pueden canalizar para producir el resultado deseado.

A continuación se muestran los diversos métodos para convertir Set to Stream .

  1. Uso de Collection.stream() : este método implica convertir directamente el Set a Stream usando el método Collection.stream().

    Algoritmo :

    1. Obtener el Conjunto a convertir.
    2. Convertir conjunto en secuencia. Esto se hace usando Set.stream().
    3. Devolver/Imprimir la secuencia.

    // Java Program to convert
    // Set to Stream in Java 8
      
    import java.util.*;
    import java.util.stream.*;
    import java.util.function.*;
      
    class GFG {
      
        // Generic function to convert a set to stream
        private static <T> Stream<T> convertSetToStream(Set<T> set)
        {
            return set.stream();
        }
      
        // Main method
        public static void main(String args[])
        {
            // Create a set of String
            Set<Integer> setOfInteger = new HashSet<>(
                Arrays.asList(2, 4, 6, 8, 10));
      
            // Print the set of Integer
            System.out.println("Set of Integer: " + setOfInteger);
      
            // Convert Set of Stream
            Stream<Integer>
                streamOfInteger = convertSetToStream(setOfInteger);
      
            // Print the Stream of Integer
            System.out.println("Stream of Integer: "
                               + Arrays.toString(
                                 streamOfInteger.toArray()));
        }
    }
    Producción:

    Set of Integer: [2, 4, 6, 8, 10]
    Stream of Integer: [2, 4, 6, 8, 10]
    
  2. Uso de predicado para filtrar el flujo : en este método, se usa el método de filtro (predicado) que devuelve un flujo que consta de elementos que coinciden con la condición del predicado dada. El predicado de interfaz funcional se define en el paquete java.util.Function y, por lo tanto, se puede utilizar como destino de asignación para una expresión lambda o una referencia de método. Mejora la capacidad de administración del código, ayuda a probarlos por separado.

    Algoritmo :

    1. Obtener el Conjunto a convertir.
    2. Defina la condición de predicado utilizando métodos estáticos predefinidos o creando un nuevo método anulando la interfaz de predicado. En este programa, la interfaz se anula para que coincida con las strings que comienzan con «G».
    3. Convertir conjunto en secuencia. Esto se hace usando Set.stream().
    4. Filtre el flujo obtenido usando la condición de predicado definida
    5. Se ha obtenido el Stream requerido. Devolver/Imprimir la secuencia.

    // Java Program to convert
    // Set to Stream in Java 8
      
    import java.util.*;
    import java.util.stream.*;
    import java.util.function.*;
      
    class GFG {
      
        // Generic function to convert a set to stream
        private static <T> Stream<T>
        convertSetToStream(Set<T> set, Predicate<T> predicate)
        {
            return set.stream()
                .filter(predicate);
        }
      
        // Main method
        public static void main(String args[])
        {
            // Create a set of String
            Set<String>
                setOfString = new HashSet<>(
                    Arrays.asList("GeeksForGeeks",
                                  "A computer portal",
                                  "for",
                                  "Geeks"));
      
            // Print the set of String
            System.out.println("Set of String: " + setOfString);
      
            // Create the predicate for item starting with G
            Predicate<String> predicate = new Predicate<String>() {
                @Override
                public boolean test(String s)
                {
                    // filter items that start with "G"
                    return s.startsWith("G");
                }
            };
      
            // Convert Set of Stream
            Stream<String>
                streamOfString = convertSetToStream(setOfString, predicate);
      
            // Print the filter Stream of String
            System.out.println("Stream from List with items"
                               + " starting with G: ");
      
            System.out.println(Arrays.toString(
                streamOfString.toArray()));
        }
    }
    Producción:

    Set of String: [for, Geeks, GeeksForGeeks, A computer portal]
    Stream from List with items starting with G: 
    [Geeks, GeeksForGeeks]
    

Publicación traducida automáticamente

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