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.
Scala proporciona dos tipos principales de colecciones:
ArrayBuffer, ListBuffer, HashMap.List, Vector, Map.Por defecto, las colecciones de Scala son inmutables. Puedes importar las versiones mutables si lo necesitas:
import scala.collection.mutable
Las listas inmutables (List) son las más comunes en Scala y representan una secuencia enlazada de elementos.
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)
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)