Sobes.tech
Junior — Middle

¿Puede una colección Set contener elementos de cualquier tipo de datos o hay restricciones de tipo?

sobes.tech AI

Respuesta de la IA

En Swift, la colección Set puede contener elementos de cualquier tipo que cumpla con el protocolo Hashable. Esto significa que los tipos deben ser capaces de calcular un código hash para garantizar la unicidad de los elementos en el Set.

Ejemplos de tipos permitidos:

  • Tipos estándar, como Int, String, Double — ya cumplen con Hashable.
  • Estructuras o clases personalizadas, si implementan el protocolo Hashable.

Ejemplo de estructura personalizada adecuada para Set:

struct Person: Hashable {
    let id: Int
    let name: String
}

var peopleSet: Set<Person> = []
peopleSet.insert(Person(id: 1, name: "Иван"))

Si un tipo no cumple con Hashable, no puede usarse en un Set.