Junior — Middle
Cum se implementează unicitatea elementelor în interiorul unei colecții de tip Set?
sobes.tech AI
Răspuns de la AI
În iOS, colecția Set asigură unicitatea elementelor prin utilizarea hash-ului și compararea egalității.
Fiecare element din Set trebuie să respecte protocolul Hashable, care necesită implementarea:
- metodei
hash(into:)— pentru calcularea codului hash al elementului; - operatorului
==— pentru verificarea egalității a două elemente.
Când adăugați un element în Set, sistemul calculează hash-ul său și verifică dacă există deja un element cu același hash și egalitate. Dacă da, elementul nu este adăugat, asigurând unicitatea.
Exemplu:
struct Person: Hashable {
let id: Int
let name: String
}
var people = Set<Person>()
people.insert(Person(id: 1, name: "Alice"))
people.insert(Person(id: 1, name: "Alice")) // nu va fi adăugat, deoarece deja există un astfel de element
Astfel, unicitatea în Set se realizează prin hash și compararea elementelor.