Junior — Middle
HashSet məlumat strukturuna elementlərin əlavə olunma mexanizmini izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Java (və Android) üçün HashSet, HashMap əsasında həyata keçirilmişdir. HashSet-ə element əlavə etdiyiniz zaman, aşağıdakı baş verir:
- Elementin hash kodu
hashCode()metodu ilə hesablanır. - Hash koduna əsasən, daxili massivdə (bucket) indeks müəyyən edilir.
- Əgər bucket-də artıq elementlər varsa,
equals()istifadə edilərək müqayisə edilir və bu elementin artıq olub-olmaması yoxlanılır (təkrarlamaları qarşısını almaq üçün). - Əgər element yoxdursa, o, bucket-ə əlavə olunur.
Bu şəkildə, HashSet elementlərin unikalığını təmin edir və hash vasitəsilə sürətli giriş imkanı verir.
Əlavə nümunəsi:
HashSet<String> set = new HashSet<>();
set.add("apple");
set.add("banana");
set.add("apple"); // əlavə olunmayacaq, çünki "apple" artıq mövcuddur