Назад к вопросам
Junior — Middle
70
Может ли коллекция Set содержать элементы любого типа данных или есть ограничения по типу?
Ответ от нейросети
sobes.tech 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.