Junior — Middle
Que outros tipos de coleções, além de arrays, conjuntos e dicionários, existem no Swift?
sobes.tech IA
Resposta da IA
Em Swift, além de arrays (Array), conjuntos (Set) e dicionários (Dictionary), existem outros tipos de coleções que podem ser usados para armazenar e organizar dados:
- Range — representa um intervalo de valores, por exemplo,
1...5. - OptionSet — estrutura para trabalhar com um conjunto de opções, implementadas através de máscaras de bits.
- ContiguousArray — array otimizado para armazenar elementos numa região contínua de memória.
- ArraySlice — fatia de um array que permite trabalhar com uma parte do array sem copiar.
- UnsafeBufferPointer e UnsafeMutableBufferPointer — ponteiros de baixo nível para trabalhar com memória, que podem ser usados como coleções.
Além disso, pode criar suas próprias coleções implementando protocolos como Collection, Sequence e outros, o que permite criar estruturas com comportamento de coleções, por exemplo, fila (Queue), pilha (Stack) ou lista ligada (LinkedList).
Exemplo de criação de uma fila simples baseada em um array:
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()
}
}