Junior — Middle
Може ли колекцията Set да съдържа елементи от всякакъв тип данни или има ограничения по тип?
sobes.tech AI
Отговор от AI
В Swift колекцията Set може да съдържа елементи от всякакъв тип, който съответства на протокола Hashable. Това означава, че типовете трябва да могат да изчислят хеш код, за да осигурят уникалността на елементите в Set.
Примери за допустими типове:
- Стандартни типове като Int, String, Double — те вече съответстват на Hashable.
- Потребителски структури или класове, ако реализират протокола Hashable.
Пример за потребителска структура, подходяща за Set:
struct Person: Hashable {
let id: Int
let name: String
}
var peopleSet: Set<Person> = []
peopleSet.insert(Person(id: 1, name: "Иван"))
Ако типът не съответства на Hashable, не може да бъде използван в Set.