Sobes.tech
Junior — Middle

Tartalmazhat egy Set gyűjtemény bármilyen adattípust, vagy vannak típuskorlátozások?

sobes.tech MI

Válasz az MI-től

Swiftben a Set gyűjtemény bármilyen típusú elemet tartalmazhat, amely megfelel a Hashable protokollnak. Ez azt jelenti, hogy a típusoknak képesnek kell lenniük hash-kódot számítaniuk az elemek egyediségének biztosítása érdekében.

Megengedett típusok példái:

  • Alapértelmezett típusok, mint az Int, String, Double — ezek már megfelelnek a Hashable-nek.
  • Egyedi struktúrák vagy osztályok, ha implementálják a Hashable protokollt.

Egy példa egy olyan egyedi struktúrára, amely alkalmas a Set-ben való használatra:

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

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

Ha egy típus nem felel meg a Hashable-nek, nem használható a Set-ben.