Sobes.tech
Junior — Middle

Poate o colecție Set conține elemente de orice tip de date sau există restricții de tip?

sobes.tech AI

Răspuns de la AI

În Swift, colecția Set poate conține elemente de orice tip care respectă protocolul Hashable. Aceasta înseamnă că tipurile trebuie să poată calcula un cod hash pentru a asigura unicitatea elementelor din Set.

Exemple de tipuri permise:

  • Tipuri standard, cum ar fi Int, String, Double — acestea sunt deja conforme cu Hashable.
  • Structuri sau clase personalizate, dacă implementează protocolul Hashable.

Exemplu de structură personalizată potrivită pentru Set:

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

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

Dacă un tip nu respectă Hashable, nu poate fi utilizat în Set.