Junior — Middle
Set növündə kolleksiya daxilində elementlərin unikalılığı necə həyata keçirilir?
sobes.tech Süni İntellekt
AI-dan cavab
iOS-da, Set kolleksiyası elementlərin unikalığını hash və bərabərlik müqayisəsi vasitəsilə təmin edir.
Hər bir element Set-də Hashable protokoluna uyğun olmalıdır, bu da aşağıdakıların həyata keçirilməsini tələb edir:
hash(into:)metodunu — elementin hash kodunu hesablamaq üçün;==operatorunu — iki elementin bərabərliyini yoxlamaq üçün.
Set-ə element əlavə etdikdə, sistem onun hash kodunu hesablayır və eyni hash və bərabərlikə malik elementin olub-olmadığını yoxlayır. Əgər varsa, element əlavə edilmir və bu, unikalığı təmin edir.
Nümunə:
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")) // əlavə olunmayacaq, çünki artıq belə bir element mövcuddur
Beləliklə, Set-də unikalıq hash və elementlərin müqayisəsi ilə təmin edilir.