Secuencias de Java para principiantes: Introducción al uso de secuencias en Java

Secuencias de Java para principiantes: Introducción al uso de secuencias en Java

Los flujos de Java 8 permiten a los desarrolladores extraer datos precisos de una gran colección, utilizando un conjunto de operaciones predefinidas.





Antes del lanzamiento de Java 8, el uso del término 'flujo' en Java se asociaría automáticamente con E / S. Sin embargo, Java 8 introdujo un flujo al que se puede hacer referencia como un conjunto de pasos computacionales encadenados en lo que comúnmente se conoce como un 'flujo de flujo'.





Este artículo le presentará los flujos de Java 8 y demostrará cómo pueden ser útiles en sus proyectos.





¿Qué es una corriente?

Una secuencia es una interfaz Java que toma una fuente, realiza un conjunto de operaciones para extraer datos específicos y luego proporciona esos datos a la aplicación para su uso. Básicamente, le permite extraer datos especializados de una colección de datos generalizados.

Cómo funcionan las corrientes

Una canalización de flujo siempre comienza con una fuente. El tipo de fuente depende del tipo de datos con los que está tratando, pero dos de los más populares son las matrices y las colecciones.



Para transformar la colección en una secuencia inicial, deberá agregar el Arroyo() función a la fuente. Esto colocará la fuente en la tubería de flujo donde varias operaciones intermedias diferentes (como filtrar() y clasificar() ) puede operar en él.

Una vez realizadas todas las operaciones intermedias necesarias, puede introducir una operación de terminal (como para cada() ), que producirá los datos extraídos previamente de la fuente.





Vida sin corrientes

Java 8 se lanzó en 2014, pero antes de eso, los desarrolladores de Java aún necesitaban extraer datos especializados de una colección de datos generales.

convertir diapositivas de google a doc de google

Supongamos que tiene una lista de caracteres aleatorios que se combinan con números aleatorios para formar valores de cadena únicos, pero solo desea los valores que comienzan con el carácter C y desea organizar el resultado en orden ascendente. Así es como extraerías esos datos sin flujos.





Relacionado: Lo que necesita saber sobre el uso de cadenas en Java

Ejemplo de filtrado y ordenación de valores sin secuencias

|_+_|

También deberá declarar e inicializar la lista de matrices, ya sea que esté utilizando flujos o algún otro método de extracción. Lo que no necesitaría hacer si estuviera usando streams es declarar una nueva variable para contener los valores requeridos, ni crear las otras cinco líneas de código en el ejemplo anterior.

Relacionado: Cómo crear y realizar operaciones en matrices en Java

El código anterior produce el siguiente resultado en la consola:

|_+_|

Vida con arroyos

En programación, la eficiencia habla de producir el mismo resultado con mucho menos código. Esto es exactamente lo que hace una canalización de flujo para un programador. Entonces, la próxima vez que alguien pregunte: ¿por qué es importante usar streams en su proyecto? En pocas palabras: las transmisiones admiten una programación eficiente.

Continuando con nuestro ejemplo anterior, así es como la introducción de transmisiones transforma todo el programa.

Filtrar y ordenar valores con un ejemplo de flujo

|_+_|

El código anterior demuestra cuán poderosa es la interfaz de transmisión. Toma una lista de valores de matriz aleatorios y la transforma en una secuencia usando el Arroyo() función. Luego, la secuencia se reduce a una lista de matriz que contiene los valores requeridos (que son todos los valores que comienzan con C ), utilizando el filtrar() función.

Como puede ver en el ejemplo anterior, el C los valores están ordenados aleatoriamente en la lista de matrices. Si tuviera que imprimir la secuencia en este punto de la canalización, el valor C15 se imprimiría primero. por lo tanto, el clasificar() La función se introduce en la tubería de flujo para reorganizar la nueva matriz en orden ascendente.

La función final en el flujo de flujo es una para cada() función. Esta es una función de terminal que se usa para detener la canalización de transmisión y produce los siguientes resultados en la consola:

|_+_|

Fluir operaciones intermedias

Existe una lista extensa de operaciones intermedias que se pueden usar en una canalización de flujo.

Una canalización de flujo siempre comienza con una única fuente y un Arroyo() función, y siempre termina con una sola operación de terminal (aunque hay varias diferentes para elegir). Pero entre estas dos secciones hay una lista de seis operaciones intermedias que puede usar.

En nuestro ejemplo anterior, solo se utilizan dos de estas operaciones intermedias --- filtrar() y clasificar() . La operación intermedia que elija dependerá de las tareas que desee realizar.

Si alguno de los valores que comienzan con C en nuestra lista de matrices anterior estuviera en minúsculas y realizáramos las mismas operaciones intermedias en ellos, obtendríamos el siguiente resultado.

Ejemplo de realización de operaciones de filtrado y ordenación en valores minúsculas

|_+_|

El código anterior producirá los siguientes valores en la consola:

|_+_|

El único problema con el resultado anterior es que no representa con precisión todos los C valores en nuestra lista de matrices. Una buena forma de corregir este pequeño error es introducir otra operación intermedia en la tubería de flujo; esta operación se conoce como mapa() función.

Uso del ejemplo de función de mapa

|_+_|

los mapa() la función transforma un objeto de un estado a otro; en nuestro ejemplo anterior, transforma todos los caracteres en minúsculas de la lista de matrices en caracteres en mayúsculas.

Colocando el mapa() función justo antes del filtrar() La función recupera todos los valores que comienzan con C de la lista de matrices.

El código anterior produce el siguiente resultado en la consola, representando con éxito todos los C valores en la lista de matrices.

|_+_|

Las otras tres operaciones intermedias que puede utilizar en sus aplicaciones incluyen:

  • ojeada()
  • límite()
  • saltar()

Los flujos de Java 8 facilitan la creación de código eficiente

Con los flujos de Java 8, puede extraer datos relevantes adicionales de una fuente grande con una línea de código. Siempre que incluya la inicial Arroyo() función y un operador de terminal, puede utilizar cualquier combinación de operaciones intermedias que proporcionen salidas adecuadas para su objetivo.

¿Cuál de los siguientes es el proceso de resolución de problemas detectados por antivirus?

Si se pregunta acerca de la línea de código incluida en nuestro filtrar() función; se conoce como 'expresión lambda'. Las expresiones lambda son otra característica introducida con Java 8, y tiene muchas pepitas que pueden resultarle útiles.

Cuota Cuota Pío Correo electrónico Una introducción rápida a Java 8 Lambdas

Si es un programador de Java y está interesado en aprender más sobre las lambdas de Java 8, en este artículo veremos más de cerca la sintaxis y el uso de lambda.

Leer siguiente
Temas relacionados
  • Programación
  • Java
  • Tutoriales de codificación
Sobre el Autor Kadeisha Kean(21 Artículos publicados)

Kadeisha Kean es desarrolladora de software Full-Stack y redactora técnica / tecnológica. Tiene la habilidad distintiva de simplificar algunos de los conceptos tecnológicos más complejos; produciendo material que puede ser fácilmente entendido por cualquier novato en tecnología. Le apasiona escribir, desarrollar software interesante y viajar por el mundo (a través de documentales).

Más de Kadeisha Kean

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse