Sobes.tech
Назад к вопросам
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.