Sobes.tech
Junior — Middle

¿Qué otros tipos de colecciones, además de arreglos, conjuntos y diccionarios, existen en Swift?

sobes.tech AI

Respuesta de la IA

En Swift, además de los arreglos (Array), conjuntos (Set) y diccionarios (Dictionary), existen otros tipos de colecciones que se pueden usar para almacenar y organizar datos:

  • Range — representa un rango de valores, por ejemplo, 1...5.
  • OptionSet — estructura para trabajar con un conjunto de opciones, implementadas mediante máscaras de bits.
  • ContiguousArray — arreglo optimizado para almacenar elementos en una región continua de memoria.
  • ArraySlice — segmento de un arreglo que permite trabajar con una parte del arreglo sin copiar.
  • UnsafeBufferPointer y UnsafeMutableBufferPointer — punteros de bajo nivel para trabajar con memoria, que pueden usarse como colecciones.

Además, puedes crear tus propias colecciones implementando protocolos como Collection, Sequence y otros, lo que permite crear estructuras con comportamiento de colecciones, por ejemplo, cola (Queue), pila (Stack) o lista enlazada (LinkedList).

Ejemplo de creación de una cola simple basada en un arreglo:

struct Queue<T> {
    private var elements: [T] = []

    mutating func enqueue(_ value: T) {
        elements.append(value)
    }

    mutating func dequeue() -> T? {
        guard !elements.isEmpty else { return nil }
        return elements.removeFirst()
    }
}