Junior — Middle
Kan een Set-collectie elementen van elk datatype bevatten of zijn er beperkingen qua type?
sobes.tech AI
Antwoord van AI
In Swift kan een collectie Set elementen bevatten van elk type dat voldoet aan het protocol Hashable. Dit betekent dat de types in staat moeten zijn om een hash-code te berekenen om de uniciteit van de elementen in de Set te waarborgen.
Voorbeelden van toegestane types:
- Standaardtypes zoals Int, String, Double — deze voldoen al aan Hashable.
- Aangepaste structuren of klassen, als ze het Hashable-protocol implementeren.
Voorbeeld van een aangepaste structuur die geschikt is voor Set:
struct Person: Hashable {
let id: Int
let name: String
}
var peopleSet: Set<Person> = []
peopleSet.insert(Person(id: 1, name: "Иван"))
Als een type niet voldoet aan Hashable, kan het niet worden gebruikt in een Set.