Junior — Middle
Může kolekce Set obsahovat prvky jakéhokoliv datového typu, nebo jsou zde omezení typu?
sobes.tech AI
Odpověď od AI
V Swiftu může kolekce Set obsahovat prvky jakéhokoliv typu, který splňuje protokol Hashable. To znamená, že typy musí být schopny vypočítat hash kód, aby zajistily jedinečnost prvků v Set.
Příklady povolených typů:
- Standardní typy, jako jsou Int, String, Double — již splňují Hashable.
- Vlastní struktury nebo třídy, pokud implementují protokol Hashable.
Příklad vlastní struktury vhodné pro Set:
struct Person: Hashable {
let id: Int
let name: String
}
var peopleSet: Set<Person> = []
peopleSet.insert(Person(id: 1, name: "Иван"))
Pokud typ nesplňuje Hashable, nelze jej použít v Set.