Todo lo que necesita saber sobre la transmisión en Java



Este artículo le presentará Stream in Java, un paquete introducido recientemente en Java y una explicación detallada de lo que puede hacer.

Un nuevo paquete adicional en Java 8, conocido como java.util.stream se ha agregado para los usuarios para una experiencia de programación eficiente. Una secuencia se puede definir como una secuencia de objetos que admite varios métodos. En este artículo estaríamos explorando Stream en

Los siguientes consejos estarán cubiertos en este artículo,





Antes de comenzar con este artículo sobre Stream In Java, echemos un vistazo a algunas características importantes,

Transmisión en Java: características

  • Una secuencia no es una estructura de datos y no almacena elementos. Colecciones, matrices o canales de E / S es de donde toma la entrada.
  • La fuente de la secuencia permanece sin modificar después de que se realizan operaciones en ella. Por ejemplo, filtrar una secuencia simplemente produce una nueva secuencia sin los elementos filtrados, en lugar de modificar la secuencia original.
  • Las operaciones de agregación como filtrar, reducir, emparejar, buscar, etc. son compatibles con la transmisión.
  • La pereza se puede considerar como una característica de la secuencia, ya que evalúa los códigos solo cuando es necesario.
  • La visita a los elementos presentes en la secuencia solo se puede realizar una vez durante la vida de una secuencia. Se debe crear una nueva secuencia para volver a visitar los mismos elementos presentes en la fuente.

Continuando con este artículo sobre Stream en Java



Generando corrientes

Los flujos se pueden generar mediante los siguientes métodos:

  • corriente() - Se devuelve un flujo secuencial.Colecciónse considera como la fuente.
  • paralelaStream (): se devuelve una secuencia paralela. La colección se considera la fuente.
List strings = Arrays.asList ('Hola', '', 'Hola', 'Hola', 'Bonjour', '', 'Namaste') Lista filtrada = strings.stream (). Filter (string ->! String. isEmpty ()). collect (Collectors.toList ())

Continuando con este artículo sobre Stream en Java

cómo usar paquetes en java

Operaciones en Streams:

Operaciones intermedias:

mapa



Los elementos presentes en la colección se pueden asignar a otros objetos según el predicado pasado como argumento. El siguiente ejemplo se utiliza para mostrar cuadrados únicos de los números mediante el método del mapa.

Lista num = Arrays.asList (5,4,4,2,3,3) Listado cuadrados = num.stream (). Map (y -> y * y) .distinct (). Collect (Collectors.toList ())

filtrar

Los elementos se pueden eliminar sobre la base de un criterio utilizando este método.

Nombre de lista = Arrays.asList ('Sábado', 'Domingo', 'Jueves') Lista res = nombre.stream (). Filter (s-> s.startsWith ('S')). Collect (Collectors.toList () )

ordenado

La secuencia se puede ordenar mediante este método.

Nombre de lista = Arrays.asList ('Sábado', 'Domingo', 'Jueves') Lista res = nombre.stream (). Sorted (). Collect (Collectors.toList ())

Transmisión en Java: Operaciones de terminal:

recoger

El resultado del procesamiento de los elementos de una secuencia se puede combinar mediante la operación de recopilación.

List num = Arrays.asList (4,3,2,5,6) Set res = num.stream (). Map (y-> y * y) .collect (Collectors.toSet ())

para cada

Este método se utiliza para iterar a través de todos los elementos presentes en la secuencia.

Lista num = Arrays.asList (4,3,2,5) num.stream (). Map (x-> x * x) .forEach (y-> System.out.println (y))

reducir

Los elementos de la secuencia se pueden reducir a un solo valor mediante este método.

Lista num = Arrays.asList (4,3,2,5) int even = num.stream (). Filter (x-> x% 2 == 0) .reduce (0, (res, i) -> res + yo)

A la variable res se le asigna inicialmente el valor 0 y se le suma i.

Continuando con este artículo sobre Stream en Java

Filtración

El código se puede filtrar mediante el método de flujo. En el siguiente ejemplo, el precio de los instrumentos se filtra.

import java.util. * import java.util.stream.Collectors class Instrument {int num String name float price public Instrument (int num, String name, float price) {this.num = num this.name = name this.price = price}} public class Test {public static void main (String [] args) {List instrumentsList = new ArrayList () // Adición de productos instrumentsList.add (new Instrument (1, 'Guitar', 15000f)) instrumentsList.add (new Instrument (2, 'Piano', 18000f)) instrumentsList.add (new Instrument (3, 'Flute', 15000f)) instrumentsList.add (new Instrument (4, 'Drums', 48000f)) instrumentsList.add (nuevo Instrument ( 5, 'Ukulele', 32000f)) Lista InstrumentPriceList2 = instrumentsList.stream () .filter (p -> p.price> 30000) // filtrando datos .map (p-> p.price) // obteniendo precio .collect ( Collectors.toList ()) // recolectando como lista System.out.println (InstrumentPriceList2)}}
 Salida: 

[48000.0, 32000.0]

Continuando con este artículo sobre Stream en Java

Iterando:

La iteración se puede realizar usando stream en java.

import java.util.stream. * public class Test {public static void main (String [] args) {Stream.iterate (1, element-> element + 1) .filter (element-> element% 4 == 0). límite (6) .forEach (System.out :: println)}}

Salida:

4

8

Talend open studio para tutorial de integración de datos

12

16

20

24

Echemos un vistazo a otro ejemplo para comprender el concepto de Stream en Java de forma más eficaz.

Ejemplo:

import java.util. * import java.util.stream. * public class Test {public static void main (String args []) {// creando una lista de enteros List num = Arrays.asList (6,7,8,9 ) // usando el método de mapa List squares = num.stream (). map (y -> y * y). collect (Collectors.toList ()) System.out.println (squares) // creando una lista de String List days = Arrays.asList ('Friday', 'Saturday', 'Sunday') // método de filtrado List res = days .stream (). filter (s-> s.startsWith ('S')). collect (Collectors.toList ()) System.out.println (res) // método ordenado Mostrar lista = days.stream (). sorted (). collect (Collectors.toList ()) System.out.println (mostrar) / / creando una lista de enteros List number = Arrays.asList (6,9,5,7,1) // el método de recopilación devuelve un conjunto Set sqSet = number.stream (). map (y-> y * y) .collect (Collectors.toSet ()) System.out.println (sqSet) // para cada método num.stream (). Map (y-> y * y) .forEach (x-> System.out.println (x)) / / reduce método int even = num.stream (). filter (x-> x% 2 == 0) .reduce (0, (result, i) -> result + i) System.out.println (even)}}

Salida:

[36, 49, 64, 81]

[Sabado domingo]

[Viernes Sábado Domingo]

[81, 49, 1, 36, 25]

36

49

64

81

cómo usar la subcadena en sql

14

Los flujos permiten al usuario realizar operaciones en los elementos de manera efectiva.

Por lo tanto, hemos llegado al final de este artículo sobre 'Transmisión en Java'. Si desea obtener más información, consulte Java Training de Edureka, una empresa de aprendizaje en línea de confianza. El curso de capacitación y certificación Java J2EE y SOA de Edureka está diseñado para capacitarlo en conceptos básicos y avanzados de Java junto con varios marcos de Java como Hibernate y Spring.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este blog y nos pondremos en contacto con usted lo antes posible.