Sobes.tech
Junior — Middle

Hoe wordt de uniciteit van elementen binnen een Set-collectie geïmplementeerd?

sobes.tech AI

Antwoord van AI

In iOS zorgt de collectie Set voor de uniciteit van elementen door gebruik te maken van hashing en vergelijking op gelijkheid.

Elk element in Set moet voldoen aan het protocol Hashable, dat de implementatie vereist van:

  • de methode hash(into:) — voor het berekenen van de hash-code van het element;
  • de operator == — voor het controleren van gelijkheid tussen twee elementen.

Wanneer je een element aan Set toevoegt, berekent het systeem de hash en controleert of er al een element met dezelfde hash en gelijkheid bestaat. Zo ja, wordt het element niet toegevoegd, wat de uniciteit garandeert.

Voorbeeld:

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")) // wordt niet toegevoegd, omdat zo'n element al bestaat

Op deze manier wordt uniciteit in Set bereikt door hashing en vergelijking van elementen.