Flujos de scala

Flujos de scala
Scala es para facilitar las operaciones perezosas. Dado que todos los cálculos sobre estas colecciones se diferen, no están estrictamente definidos. Exploraremos las transmisiones de Scala, que son los tipos únicos de listas en este artículo en transmisiones en Scala. La recopilación Scala que almacena los datos también incluye la transmisión de Scala. La única diferencia que separa esto de una lista en Scala es cuando es necesario para el Scala cuando se calculan los valores de la corriente. Debido a que no cargan los datos a la vez, las transmisiones de Scala son listas perezosas que solo evalúan los valores según sea necesario. Esto mejora el rendimiento del programa.

Sintaxis de la corriente en Scala en Ubuntu 20.04

La principal diferencia entre una transmisión Scala y una lista es que los elementos de una transmisión se calculan lentamente en lugar de todos a la vez. Nuestra aplicación se ejecuta más rápido ya que solo los elementos que solicitamos se calculan. La corriente de Scala, sin embargo, es rápida.

Val Stream = 1 #:: 2 #:: 3 #:: Stream.vacío

Se puede crear una transmisión utilizando el enfoque y transmisión del operador #::.vacío al final de la expresión en lugar de una lista en Scala que se puede crear con el operador ::.vacío. Se da un flujo de números como especificación de la secuencia. En este caso, 1 representa la cabeza de la corriente. Mientras que 2 y 3 representan la cola de la corriente. Los comandos de toma, como los siguientes, se pueden usar para recuperar los valores:

arroyo.tomar (valor)

Ejemplo 1: Crear una transmisión en Scala

Los ejemplos para crear una transmisión en Scala se dan en las siguientes ilustraciones. Los elementos en una corriente se mantienen después de ser evaluados.

Construimos el objeto como "Stream1". Contiene la definición del método principal dentro del bloque del método principal. Hicimos el código de flujo de Scala. Para esto, primero declaramos la variable de palabra clave "Val" como "mystream". La variable "mystream" se establece con un flujo de tres números. Usamos 2, 4 y 10 como enteros para la corriente. Aquí, 2 se conoce como la cabeza y los siguientes dos enteros, 4 y 10, se denominan la cola de la corriente. Utilizamos el operador "#" y resolución de alcance "::" entre los enteros. La corriente.Se emplea el vacío al final de la corriente. Luego, llamamos a la variable "mystream" dentro de la función println para imprimir el flujo especificado.

Los resultados muestran que la segunda parte no fue evaluada. En este caso, el elemento se reemplaza con un signo de interrogación. Las listas no son evaluadas por Scala hasta que se requieran. La cola no se imprime, ya que aún no se ha calculado. Las transmisiones están designadas para el cálculo perezoso.

Ejemplo 2: Crear una transmisión con la transmisión.Paquete de contras en Scala

Arroyo.Los contras también se pueden usar para construir una transmisión. Para generar transmisiones, use el paquete Importar "Scala.recopilación.inmutable.Arroyo.contras".

Mencionamos el paquete Scala "Scala.recopilación.inmutable.Corrientes.contras "en nuestra sección de encabezado. Después de eso, hicimos un objeto como "Stream2". La definición del método principal se proporciona para este objeto. Creamos la variable "s" con la ayuda de la palabra clave "val". Asignamos la transmisión [int] a la variable "s". Entonces, llamamos a los contras de la transmisión. Cada contras de la corriente está encerrada dentro del otro. Al final, usamos la transmisión.vacío en las últimas contras. Luego, tenemos el método println para imprimir la transmisión.Contras Elementos. Utilizamos la interpolación de cadena "$ s" para imprimir los elementos de la transmisión.

La secuencia inmutable se genera en la siguiente pantalla de salida. Solo se obtienen los elementos de la cabeza de la corriente y la cola no se evalúa:

Ejemplo 3: Uso de la función Take On Stream en Scala

Para extraer los elementos de una secuencia, use la función Take.

Establecimos el objeto "stream3" y designamos el método principal para él. El método principal contiene la declaración variable y la declaración de impresión para mostrar. La variable se declara aquí como "ST" y se inicializa con la secuencia de tres números impares. La transmisión se crea con el operador "#::" y la transmisión.vacío al final de la corriente.

Después de la creación de la transmisión, la mostramos con la función de impresión. Luego, tomamos los dos primeros elementos de la corriente dada pasando el valor "2" en el ST.método tomar (). A continuación, obtuvimos los primeros cinco elementos de la transmisión pasando el "5" en el método Stream Take ().

En la primera evaluación de la corriente, solo se obtiene un elemento. Después de usar el comando de secuencia, recuperamos los dos primeros elementos de la transmisión. Además, obtuvimos los primeros cinco elementos de la transmisión. Ya que solo se proporcionan tres elementos a la secuencia, solo se acceden a tres en la última salida. Observe que no se lanza ningún error.

Ejemplo 4: Uso del mapa en la transmisión en Scala

Usamos la función de mapa en una secuencia en un programa Scala. Las operaciones de flujo se llevan a cabo utilizando la función de mapa.

Tenemos un objeto "stream4" donde se llama la definición principal del programa. Dentro de la función principal del objeto "Stream4", definimos una variable de "transmisión". Aquí, creamos la transmisión con el operador "#::". La corriente.Se usa el vacío al final de la expresión de la corriente. La transmisión creada se imprime pasando la variable "transmisión" a la función println. A continuación, llamamos a la función del mapa dentro de otra función println. Transformamos la secuencia de entrada con la nueva secuencia con la ayuda de la función de mapa.

La primera salida obtenida es la vapor y la siguiente es la nueva secuencia de mapa de la transmisión anterior.

Ejemplo 5: Inicializar una corriente vacía en Scala

Se puede inicializar una transmisión vacía utilizando el siguiente código:

Dentro del objeto "Stream5", clasificamos el método principal. En el método principal, creamos la variable "s_empty" y establecemos la transmisión vacía. Luego, mostramos la transmisión vacía utilizando el método println y pasamos la variable "s_empty".

La salida muestra que la transmisión está vacía. Además, muestra la transmisión vacía pero no arroja ningún tipo de excepción.

Conclusión

Este es un manual de referencia de scala stream. Aquí, hemos pasado por cómo crear la función de transmisión en Scala utilizando los ejemplos de programación apropiados. No calculamos el valor de un elemento a la vez en la corriente de Scala, sino uno a la vez. Cuando el rendimiento es un problema, use esto. Cuando se trata de adquirir un elemento de transmisión, utiliza el método más reciente. Como solo se calcula una entrada a la vez, Stream usa menos memoria que la lista.