Programa para Convertir Lista a Stream en Java

La Lista es una interfaz secundaria de la Colección. Es una colección ordenada de objetos en los que se pueden almacenar valores duplicados. Dado que List conserva el orden de inserción, permite el acceso posicional y la inserción de elementos. La interfaz de lista se implementa mediante las clases ArrayList , LinkedList , Vector y Stack .

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 varios métodos para convertir List to Stream en Java:

  1. Uso del método List.stream() : la interfaz Java List proporciona el método stream() que devuelve un Stream secuencial con esta colección como fuente.

    Sintaxis:

    List.stream()

    Algoritmo :

    1. Obtener la corriente
    2. Convierta Stream en List usando el método List.stream().
    3. Devolver la lista

    Programa:

    // Java Program to convert
    // List to Stream in Java 8
      
    import java.util.*;
    import java.util.stream.*;
    import java.util.function.Function;
      
    class GFG {
      
        // Generic function to convert a list to stream
        private static <T> Stream<T> convertListToStream(List<T> list)
        {
            return list.stream();
        }
      
        public static void main(String args[])
        {
      
            // Create a stream of integers
            List<String> list = Arrays.asList("GeeksForGeeks",
                                              "A computer portal"
                                              "for Geeks");
      
            // Print the List
            System.out.println("List: " + list);
      
            // Convert List to stream
            Stream<String> stream = convertListToStream(list);
      
            // Print the Stream
            System.out.println("Stream from List: "
                        + Arrays.toString(stream.toArray()));
        }
    }
    Producción:

    List: [GeeksForGeeks, A computer portal, for Geeks]
    Stream from List: [GeeksForGeeks, A computer portal, for Geeks]
    
  2. Filter Stream usando un predicado : el predicado de interfaz funcional se define en el paquete java.util.Function y, por lo tanto, se puede usar 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 la corriente
    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. Convierta Stream en List usando el método List.stream().
    4. Filtre el flujo obtenido usando la condición de predicado definida
    5. Se ha obtenido el Stream requerido.
      Por lo tanto, imprima los elementos filtrados de Stream usando el método forEach().
      También se puede devolver según sea necesario.

    Programa:

    // Java Program to convert
    // List to Stream in Java 8
      
    import java.util.*;
    import java.util.stream.*;
    import java.util.function.*;
      
    class GFG {
      
        public static void main(String args[])
        {
      
            // Create a stream of integers
            List<String> list = Arrays.asList("GeeksForGeeks",
                                              "A computer portal"
                                              "for"
                                              "Geeks");
      
            // Print the List
            System.out.println("List: " + list);
      
            // 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");
                }
            };
      
            System.out.println("Stream from List with items"+
                                          " starting with G: ");
      
            // Convert List to stream
            list.stream()
                .filter(predicate)
                .forEach(System.out::println);
        }
    }
    Producción:

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

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 *