Burada qısaca HashSet sinfi haqqında məlumat və nümunələr öz əksini tapacaq.
HashSet<Tip*> dəyişənAdı = new HashSet<>();*non-primitivlər (int, boolean, char ...) istifadə oluna bilməz.
Wrapper siniflər istifadə oluna bilər : String, Integer,Long...
HashSet sinfi Set interfeysinin və AbstractSet sinfinin xüsusiyyətlər miras alıb. Java-dakı HashSet təməlini HashMap üzərində qurduğu üçün unikal dəyərlərə malik, təkrarlanmayan dəyərlər alır.
Həmçinin HashSet dəyərləri ardıcıl şəkildə tutacağına söz vermir. Bu da onun strukturu ilə bağlı bir xüsusiyyətdir.
- HashSet elementləri
hashing mexanizmdənistifadə edərək saxlayır. - HashSet
yalnız unikal elementləriehtiva edir. - HashSet
nulldəyərəicazə verir. - HashSet sinfi
sinxronlaşdırılmayıb. - HashSet daxiletmə qaydasına görə saxlamır (
not ordered). Burada elementlərhashcodeəsasında daxil edilir. - HashSet
axtarış əməliyyatlarıüçün ən yaxşı yanaşmadır. - HashSet-in ilkin tutumu
16, yükləmə əmsalı isə0,75-dir.
| vəziyyətlər | notasiyası |
|---|---|
əlavə etmə (add) |
O(1) |
seçmə (get) |
O(1) |
silmə (remove) |
O(1) |
ehtiva etmə (contains) |
O(1) |
| Metod | Açıqlama |
|---|---|
add() |
Veriləni HashSet-in sonuna əlavə edir. |
remove() |
Veriləni HashSet-dən silir. |
contains() |
Verilənin HashSet-də olub olmadığını yoxlayır. |
size() |
HashSet-in ölçüsünü geri qaytarır. |
toArray() |
HashSet-in massivə çevirir. |
isEmpty() |
HashSet-in boş olduğunu yoxlayır. |
clear() |
HashSet-i təmizləyir. |
Metodlar əlbəttəki bununla bitmir. Ətraflı məlumat üçün fərdi şəkildə internetdə axtara bilərsiniz.
