Junior — Middle
Чӣ гуна ягонагии унсурҳо дар дохили маҷмӯаи навъи Set амалӣ мешавад?
sobes.tech AI
Ҷавоб аз AI
Дар iOS, колексията Set осигурява уникалността на елементите чрез използване на хеширане и сравнение за равенство.
Всеки елемент в Set трябва да съответства на протокола Hashable, който изисква реализиране на:
- метода
hash(into:)— за изчисляване на хеш кода на елемента; - оператора
==— за проверка на равенството на два елемента.
Когато добавяте елемент към Set, системата изчислява неговия хеш и проверява дали вече съществува елемент с същия хеш и равенство. Ако да, елементът не се добавя, осигурявайки уникалност.
Пример:
struct Person: Hashable {
let id: Int
let name: String
}
var people = Set<Person>()
people.insert(Person(id: 1, name: "Alice"))
people.insert(Person(id: 1, name: "Alice")) // няма да бъде добавен, тъй като вече съществува такъв елемент
По този начин, уникалността в Set се постига чрез хеширане и сравнение на елементите.