Junior — Middle
Czy kolekcja Set może zawierać elementy dowolnego typu danych, czy istnieją ograniczenia co do typu?
sobes.tech AI
Odpowiedź od AI
W Swift, kolekcja Set może zawierać elementy dowolnego typu, który spełnia protokół Hashable. Oznacza to, że typy muszą być w stanie obliczyć kod hash, aby zapewnić unikalność elementów w Set.
Przykłady dozwolonych typów:
- Typy standardowe, takie jak Int, String, Double — już spełniają Hashable.
- Struktury lub klasy niestandardowe, jeśli implementują protokół Hashable.
Przykład struktury niestandardowej odpowiedniej dla Set:
struct Person: Hashable {
let id: Int
let name: String
}
var peopleSet: Set<Person> = []
peopleSet.insert(Person(id: 1, name: "Иван"))
Jeśli typ nie spełnia Hashable, nie można go używać w Set.