Sobes.tech
Junior — Middle

Quels autres types de collections, en plus des tableaux, ensembles et dictionnaires, existent en Swift?

sobes.tech IA

Réponse de l'IA

En Swift, en plus des tableaux (Array), ensembles (Set) et dictionnaires (Dictionary), il existe d'autres types de collections que vous pouvez utiliser pour stocker et organiser des données:

  • Range — représente une plage de valeurs, par exemple, 1...5.
  • OptionSet — structure pour travailler avec un ensemble d'options, implémentée via des masques de bits.
  • ContiguousArray — tableau optimisé pour stocker des éléments dans une région continue de mémoire.
  • ArraySlice — tranche d'un tableau qui permet de travailler avec une partie du tableau sans copie.
  • UnsafeBufferPointer et UnsafeMutableBufferPointer — pointeurs de bas niveau pour travailler avec la mémoire, pouvant être utilisés comme collections.

De plus, vous pouvez créer vos propres collections en implémentant des protocoles comme Collection, Sequence et d'autres, ce qui permet de créer des structures avec un comportement de collection, par exemple, une file d'attente (Queue), une pile (Stack) ou une liste chaînée (LinkedList).

Exemple de création d'une file d'attente simple basée sur un tableau:

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()
    }
}