Ejemplos de flujo de Java

Ejemplos de flujo de Java

Java Stream es una característica muy útil de la programación de Java. No es una estructura de datos y no puede almacenar ni modificar los datos como las secuencias de E/S de Java. Se utiliza para trabajar en cualquier fuente de datos, como una matriz, colección, canal de E/S, etc. Los datos de una estructura de datos se pueden recuperar, recopilar o modificar a otra estructura de datos utilizando Java Stream. El "Java.utilizar.Se requiere el paquete de transmisión "para usar la transmisión Java en el código. En este tutorial se muestran diferentes usos de Java Stream en los programas Java.

Prerrequisitos:

  1. Instale la última versión de OpenJDK con JRE.
  2. Instale cualquier editor útil para escribir y ejecutar el código Java. Puede consultar este tutorial para instalar el editor de eclipse.

Ejemplos de flujo de Java

La creación de flujos de diferentes estructuras de datos y filtrando los datos de la secuencia se muestran en esta parte del tutorial utilizando múltiples ejemplos.

Ejemplo 1: Creación del objeto de transmisión a partir de matrices

Cree un archivo Java con el siguiente código para generar la secuencia con múltiples valores, con todos los elementos de la matriz y con un número particular de valores de matriz. La primera secuencia se genera a partir de tres valores de cadena. La segunda corriente se genera a partir de una matriz de cuatro valores. La tercera corriente se genera cortando los primeros tres elementos de la matriz.

// Importar módulos necesarios
importar java.utilizar.Matrices;
importar java.utilizar.arroyo.Arroyo;
clase pública javasTreamExample
public static void main (string [] args)
// declarar una secuencia de una matriz
Arroyo transmisión1 = transmisión.de ("objeto", "-orientado", "programación");
// Imprime todos los valores de la transmisión
transmisión1.foreach (sistema.out :: imprimir);
// Agregar una nueva línea
Sistema.afuera.println ();
// declarar una matriz de cuatro valores de cadena
String [] strarr = new String [] "Learn", "Java", "Programación", "lenguaje";
// Crear una transmisión a partir de una matriz de valores
Arroyo stream2 = matrices.transmisión (strarr);
// Imprime todos los valores de la transmisión
transmisión2.foreach (sistema.out :: imprimir);
// Agregar una nueva línea
Sistema.afuera.println ();
// crear una transmisión con algunos elementos de la matriz
Arroyo stream3 = matrices.transmisión (Strarr, 0, 3);
transmisión3.foreach (sistema.out :: imprimir);

La siguiente salida aparece después de ejecutar el código anterior. Se imprimen tres valores de la primera secuencia en la primera salida. Todos los valores de la matriz se imprimen en la segunda salida después de convertirlos en la transmisión. Los primeros tres elementos de la matriz se convierten en los datos de la secuencia y se imprimen en la tercera salida.

Ejemplo 2: Creación de flujo a partir de colecciones

Cree un archivo Java con el siguiente código para generar la transmisión a partir de los objetos "Lista", "Establecer" y "Collection". Un objeto de "lista" de tres elementos se define en el código que se convierte en la transmisión y se imprime más tarde. A continuación, se genera un objeto "Establecer" a partir de la "lista" definida anteriormente. El "set" se convierte en la transmisión y se imprime más tarde. A continuación, se genera y se convierte un objeto de "colección" de tres elementos en la transmisión y se imprime más tarde.

// Importar módulos necesarios
importar java.utilizar.arroyo.Arroyo;
importar java.utilizar.Matrices;
importar java.utilizar.Lista;
importar java.utilizar.Colocar;
importar java.utilizar.Recopilación;
importar java.utilizar.Hashset;
clase pública javeStreamExample2
public static void main (string [] args)
Lista Lista = Arrays.Aslist ("Linux", "Sugerencia", ".com ");
// Crear una transmisión a partir de una lista
Arroyo streamArray = lista.arroyo();
estreamarray.foreach (sistema.out :: imprimir);
Sistema.afuera.println ();
// crear una transmisión desde un conjunto
Colocar set = new Hashset (lista);
Arroyo streamset = set.arroyo();
juego de corriente.foreach (sistema.out :: imprimir);
Sistema.afuera.println ();
// Crear transmisión a partir de una colección
Recopilación colección = matrices.aslist ("aprender", "java", "stream");
Arroyo StreamCollection = Collection.arroyo();
calzada.foreach (sistema.out :: println);

La siguiente salida aparece después de ejecutar el código anterior. Tres valores de la primera y segunda transmisión se concatenan e imprimen en la primera y segunda salida para usar el método print (). Cada valor de la tercera transmisión se imprime con una nueva línea en la tercera salida para usar el método println ().

Ejemplo 3: filtrar e iterando la colección

En los ejemplos anteriores, se utiliza una sola lista de datos en la transmisión. Pero si tiene que usar múltiples listas de datos en la transmisión, debe crear una clase para definir la estructura de los datos de la lista. Aquí, una clase llamada "Empleados" se declara con un constructor que contiene cuatro variables para almacenar una identificación de empleado, nombre, publicación y salario.

Empleados de clase pública
// declarar variables de clase
público int id;
nombre de cadena pública;
publicación de cadena pública;
Público int salario;
// declarar constructor
Empleados públicos (Int A, String B, String C, Int D)

id = a;
nombre = b;
post = c;
salario = d;

Cree un archivo Java con el siguiente código para generar la transmisión desde ArrayList. A continuación, los cuatro registros del empleado se agregan a ArrayList. La lista de los empleados que tienen un salario de más de $ 60000 se filtran utilizando el método Filter () de la transmisión y se imprimen en la salida.

// Importar módulos necesarios
importar java.utilizar.Lista;
importar java.utilizar.*;
clase pública javeStreamExample3
public static void main (string [] args)
// crear una lista de empleados basada en la clase de empleados
Lista < Employees > Emplist = New ArrayList < Employees > ();
// Insertar 4 registros en la lista
empplista.Agregar (nuevos empleados (1, "Mir Sabbir", "Gerente", 60000));
empplista.Agregar (nuevos empleados (2, "Menhaz Kazi", "Subgerente", 50000));
empplista.Agregar (nuevos empleados (3, "Rupa Chowdhury", "CEO", 100000));
empplista.Agregar (nuevos empleados (4, "Naznin Akter", "Contador", 75000));
//
Sistema.afuera.println ("Salario más de $ 60000");
Sistema.afuera.println ("--------------------------");
// Filtrar datos usando Java Stream
empplista.arroyo().Filtrar (empleados -> empleados.Salario> 60000)
.foreach (empleados -> sistema.afuera.println ("Nombre:" + Empleados.Nombre + "\ nsalary: $" + empleados.salario + "\ n"));

La siguiente salida aparece después de ejecutar el código anterior. Existen dos registros en ArrayList que coincide con los criterios de búsqueda y se imprimen en la salida. Aquí, el salario de "Rupa Chowdhury" y "Naznin Akter" son $ 100000 y $ 75000 que son más de $ 60000.

Conclusión

La transmisión se puede utilizar para múltiples propósitos en la programación de Java. Algunos usos simples de la transmisión que se generan a partir de la matriz y la colección se muestran en este tutorial para ayudar a los usuarios de Java a conocer el método de usar la transmisión en su código.