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.