El sistema de colecciones de Scala es una parte integral del lenguaje, diseñado para ser versátil, eficiente y fácil de usar. Incluye una amplia variedad de colecciones mutables e inmutables, adecuadas tanto para la programación funcional como orientada a objetos.


Tipos de Colecciones

Scala proporciona dos tipos principales de colecciones:

  1. Colecciones Mutables: Permiten cambiar su contenido después de su creación.
  2. Colecciones Inmutables: Su contenido no puede modificarse después de su creación. Se prefieren en la programación funcional.

Por defecto, las colecciones de Scala son inmutables. Puedes importar las versiones mutables si lo necesitas:

import scala.collection.mutable


Listas

Listas Inmutables

Las listas inmutables (List) son las más comunes en Scala y representan una secuencia enlazada de elementos.

Ejemplo:

val numeros = List(1, 2, 3, 4, 5)
println(numeros.head) // Primer elemento: 1
println(numeros.tail) // Resto de la lista: List(2, 3, 4, 5)

Las listas soportan operaciones funcionales como map, filter y reduce:

val cuadrados = numeros.map(x => x * x)
println(cuadrados) // Salida: List(1, 4, 9, 16, 25)

Listas Mutables

Puedes usar ListBuffer para trabajar con listas mutables:

import scala.collection.mutable.ListBuffer

val buffer = ListBuffer(1, 2, 3)
buffer += 4
println(buffer) // Salida: ListBuffer(1, 2, 3, 4)