Las colecciones en Scala son una parte fundamental del lenguaje y proporcionan una manera eficiente y flexible de manejar grupos de datos. En esta lección, exploraremos los conceptos básicos de las colecciones en Scala, sus tipos principales y cómo utilizarlas.

Objetivos de la Lección

  • Comprender qué son las colecciones en Scala.
  • Conocer los tipos principales de colecciones.
  • Aprender a crear y manipular colecciones básicas.

¿Qué son las Colecciones en Scala?

Las colecciones en Scala son estructuras de datos que permiten almacenar y manipular grupos de elementos. Scala proporciona una rica biblioteca de colecciones que incluye listas, conjuntos, mapas, arreglos, entre otros. Estas colecciones pueden ser mutables o inmutables.

Tipos de Colecciones

Scala divide sus colecciones en dos categorías principales:

  1. Colecciones Inmutables: No pueden ser modificadas después de su creación. Cualquier operación que altere una colección inmutable devuelve una nueva colección.
  2. Colecciones Mutables: Pueden ser modificadas después de su creación. Las operaciones pueden cambiar el contenido de la colección en lugar de devolver una nueva.

Principales Colecciones en Scala

Listas (List)

Las listas son colecciones inmutables que mantienen el orden de los elementos y permiten duplicados.

val lista: List[Int] = List(1, 2, 3, 4, 5)
println(lista)  // Output: List(1, 2, 3, 4, 5)

Conjuntos (Set)

Los conjuntos son colecciones que no permiten elementos duplicados. Pueden ser mutables o inmutables.

val conjunto: Set[Int] = Set(1, 2, 3, 4, 5)
println(conjunto)  // Output: Set(1, 2, 3, 4, 5)

Mapas (Map)

Los mapas son colecciones de pares clave-valor. Pueden ser mutables o inmutables.

val mapa: Map[String, Int] = Map("uno" -> 1, "dos" -> 2, "tres" -> 3)
println(mapa)  // Output: Map(uno -> 1, dos -> 2, tres -> 3)

Arreglos (Array)

Los arreglos son colecciones mutables que permiten el acceso rápido a los elementos mediante índices.

val arreglo: Array[Int] = Array(1, 2, 3, 4, 5)
println(arreglo.mkString(", "))  // Output: 1, 2, 3, 4, 5

Operaciones Básicas con Colecciones

Creación de Colecciones

Puedes crear colecciones utilizando los constructores proporcionados por Scala.

val lista = List(1, 2, 3)
val conjunto = Set(1, 2, 3)
val mapa = Map("a" -> 1, "b" -> 2)
val arreglo = Array(1, 2, 3)

Acceso a Elementos

Puedes acceder a los elementos de una colección utilizando índices o claves.

val primerElemento = lista(0)
val valorClave = mapa("a")

Transformaciones

Las colecciones en Scala soportan una variedad de operaciones de transformación como map, filter, flatMap, etc.

val listaDoblada = lista.map(_ * 2)  // Output: List(2, 4, 6)
val listaFiltrada = lista.filter(_ % 2 == 0)  // Output: List(2)

Ejercicios Prácticos

Ejercicio 1: Crear y Manipular una Lista

Crea una lista de números del 1 al 10 y luego filtra los números pares.

val numeros = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val pares = numeros.filter(_ % 2 == 0)
println(pares)  // Output: List(2, 4, 6, 8, 10)

Ejercicio 2: Crear y Manipular un Mapa

Crea un mapa con tres pares clave-valor y luego accede a uno de los valores utilizando su clave.

val mapa = Map("a" -> 1, "b" -> 2, "c" -> 3)
val valorB = mapa("b")
println(valorB)  // Output: 2

Ejercicio 3: Crear y Manipular un Conjunto

Crea un conjunto de números y luego añade un nuevo número al conjunto.

var conjunto = Set(1, 2, 3)
conjunto += 4
println(conjunto)  // Output: Set(1, 2, 3, 4)

Conclusión

En esta lección, hemos introducido las colecciones en Scala, explorando sus tipos principales y cómo utilizarlas. Las colecciones son una herramienta poderosa en Scala que te permitirá manejar datos de manera eficiente y flexible. En las próximas lecciones, profundizaremos en cada tipo de colección y aprenderemos más sobre sus operaciones avanzadas.

¡Continúa practicando y experimentando con las colecciones para familiarizarte con su uso en Scala!

© Copyright 2024. Todos los derechos reservados