Volver a la página principal
martes 15 octubre 2024
5

Cómo trabajar con Streams en Scala

En Scala, los Streams son una colección de datos que se evalúan de manera perezosa (lazy), lo que significa que los elementos solo se calculan cuando se acceden. Son útiles para manejar secuencias infinitas o grandes volúmenes de datos sin sobrecargar la memoria.

¿Qué es un Stream en Scala?

Un Stream en Scala es una estructura de datos similar a una lista, pero con evaluación diferida (lazy evaluation). Esto permite procesar solo los elementos que se necesitan en un momento dado. Es ideal cuando se desea trabajar con grandes colecciones o secuencias infinitas, ya que no se cargan todos los elementos en memoria al mismo tiempo. Los Streams pueden ser útiles en situaciones de rendimiento donde no queremos evaluar toda una colección de inmediato.

Ejemplos de uso de Stream en Scala

// Crear un Stream finito
val stream = 1 #:: 2 #:: 3 #:: Stream.empty
println(stream)  // Stream(1, ?)

// Definir un Stream infinito
val infiniteStream = Stream.from(1)
println(infiniteStream.take(5).toList)  // List(1, 2, 3, 4, 5)

En el ejemplo, el Stream se construye con el operador #::, que agrega elementos a la secuencia de manera perezosa. También es posible crear Streams infinitos, como en el segundo ejemplo con Stream.from.

Referencias

Puedes encontrar más detalles en la documentación oficial de Scala.

Etiquetas:
scala
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer