Əsas Fərq – HashMap vs TreeMap
Proqramlaşdırmada məlumat toplamaq üçün müxtəlif mexanizmlər mövcuddur. Kolleksiyalar məlumatları saxlamaq üçün bir üsuldur. Java kimi proqramlaşdırma dilləri Kolleksiyalardan istifadə edir. Bu, bir sıra məlumat elementlərinin saxlanması və manipulyasiyası üçün siniflər və interfeysləri olan bir çərçivədir. Normal massivdə saxlamaq üçün müəyyən sayda element var. Bu massivlərin məhdudlaşdırılmasıdır. Bunun əvəzinə proqramçı kolleksiyalardan istifadə edə bilər. Kolleksiyalardan istifadə etməklə daxil etmək, silmək, çeşidləmək və axtarmaq kimi əməliyyatlar həyata keçirilə bilər. Java-da Xəritə interfeysi kolleksiyalara aiddir. Xəritə açar, dəyər cütlərində məlumatları təmsil etmək üçün istifadə olunur. Yalnız unikal açarlar var və hər birinin müvafiq dəyəri var. HashMap və TreeMap Map interfeysini həyata keçirən siniflərdir. HashMap, məlumat elementlərində xüsusi bir nizamı saxlamayan açar və dəyər cütlərini saxlamaq üçün istifadə olunan Xəritə əsaslı kolleksiya sinfidir. TreeMap, məlumat elementlərinin artan sırasını qoruyan açar və dəyər cütlərini saxlamaq üçün istifadə edilən Xəritə əsaslı kolleksiya sinfidir. HashMap və TreeMap arasındakı əsas fərq ondan ibarətdir ki, HashMap məlumat elementlərində xüsusi bir sıra saxlamır, TreeMap isə məlumat elementlərinin artan sırasını qoruyur.
HashMap nədir?
HashMap xəritə interfeysini həyata keçirən sinifdir. O, AbstractMap sinfini genişləndirir və Xəritə interfeysini həyata keçirir. HashMap açarı, dəyər cütlərini ehtiva edir. Hər bir element unikaldır. Açardan istifadə edərək HashMap-da elementləri tapmaq asandır. HashMap elanı aşağıdakı kimidir.
ictimai sinif HashMap genişləndirilir AbstractMap tətbiqləri Xəritə, Klonlana bilən, Seriyalaşdırıla bilər
K açarı, V isə həmin xüsusi açara uyğun gələn dəyərə istinad edir. Hər açar, dəyər cütü HashMap girişidir.
Şəkil 01: Xəritə interfeysi
HaspMap-ı başa düşmək üçün aşağıdakı ssenarini fərz edin. Əgər orada proqramçı bir sıra tələbə adlarını və müvafiq indeks nömrələrini saxlamaq istəsə, o, HashMap-dan istifadə edə bilər. Şagird adları indeks nömrələrini tapmaq üçün istifadə olunur. Buna görə də, tələbə adları açar, indeks nömrələri isə dəyərlərdir.
Şəkil 02: Java-dan istifadə edən HashMap Proqramı
Yuxarıdakı proqrama əsasən HashMap-ın obyekti yaradılır. Sonra proqramçı həmin obyektdən istifadə edərək elementlər əlavə edə bilər. Dəyərlər put metodundan istifadə etməklə daxil edilə bilər. Dəyərləri əldə etmək üçün proqramçı açarla get metodundan istifadə etməlidir. studentList.get("150") istifadə edərkən; o, Ann olan indeksə uyğun adı çap edəcək. Əgər proqramçı bütün dəyərləri əldə etmək istəyirsə, o zaman bütün açarları və dəyərləri çap etmək üçün Map. Entry-dən istifadə edə bilər. Çıxışı müşahidə edərkən, HashMap-ın müəyyən bir nizam saxlamadığını görmək olar. Elementləri daxil edilmiş qaydada çap etmir. Elementlər təsadüfi qaydada çap olunur.
TreeMap nədir?
The TreeMap Java-da Xəritə interfeysini həyata keçirən sinifdir. HashMap kimi, o, həm də açar, dəyər cütlərini, lakin artan qaydada saxlamaq üçün istifadə olunur. TreeMap NavigableMap-i həyata keçirir və NaviqableMap SortedMap-i, SortedMap isə Xəritəni genişləndirir. Hər bir element unikaldır. TreeMap-ın elan edilməsi aşağıdakı kimidir.
ictimai sinif TreeMap AbstractMap-ı genişləndirir Naviqasiya oluna bilən Xəritə, Klonlana bilən, Seriyalaşdırıla bilən
K açarı, V isə həmin xüsusi açara uyğun gələn dəyərə istinad edir. Hər açar, dəyər cütü TreeMap-ın girişidir.
Şəkil 03: Java istifadə edən TreeMap Proqramı
Yuxarıdakı proqrama uyğun olaraq TreeMap-ın obyekti yaradılır. Sonra proqramçı həmin obyektdən istifadə edərək elementlər əlavə edə bilər. Dəyərlər put metodundan istifadə etməklə daxil edilə bilər. Dəyərləri əldə etmək üçün proqramçı açarla get metodundan istifadə etməlidir. studentList.get("150") istifadə edərkən; o, Ann olan indeksə uyğun adı çap edəcək. Əgər proqramçı bütün dəyərləri əldə etmək istəyirsə, o zaman bütün açarları və dəyərləri çap etmək üçün Map. Entry-dən istifadə edə bilər. Çıxışı müşahidə edərkən TreeMap-ın müəyyən bir nizam saxladığını görmək olar. Elementlər artan qaydada çap olunur.
HashMap və TreeMap arasında hansı oxşarlıqlar var?
- Həm HashMap, həm də TreeMap Xəritə interfeysini həyata keçirir.
- Həm HashMap, həm də TreeMap bir çox elementləri saxlaya və manipulyasiya edə bilər.
- Həm HashMap, həm də TreeMap açar, dəyər cütlərini ehtiva edir.
- Həm HashMap, həm də TreeMap çoxlu null dəyərlərə malik ola bilər.
- Həm HashMap, həm də TreeMap-da saxlanıla bilən elementlərin sayına heç bir məhdudiyyət yoxdur.
HashMap və TreeMap arasındakı fərq nədir?
HashMap vs TreeMap |
|
A HashMap məlumat elementlərində xüsusi sıranı saxlamayan açar və dəyər cütlərini saxlamaq üçün istifadə edilən Xəritə əsaslı kolleksiya sinfidir. | A TreeMap məlumat elementlərinin artan sırasını saxlayan açar və dəyər cütlərini saxlamaq üçün istifadə edilən Xəritə əsaslı kolleksiya sinfidir. |
Sifariş | |
HashMap nizamı saxlamır. | Ağac Xəritəsi artan sıranı qoruyur. |
Boş Açar | |
HashMap bir null açarı ehtiva edə bilər. | Ağac Xəritəsinin null açarı ola bilməz. |
Performans | |
HashMap TreeMap-dən daha sürətlidir. | TreeMap HashMap-dən daha yavaşdır. |
Xülasə – HashMap vs TreeMap
Java kimi proqramlaşdırma dilləri kolleksiya çərçivəsini ehtiva edir. Massivlərdə sabit sayda element ola bilər. Buna görə də, massiv ölçüsü başlanğıcda işə salınmalıdır. Kolleksiyalarda proqramçı tələb olunduqda çoxlu elementləri saxlaya bilər. Saxlamaq üçün konkret məbləğ yoxdur. Xəritə kolleksiya çərçivəsinə aid bir interfeysdir. HashMap, məlumat elementlərində müəyyən bir nizamı saxlamayan açar və dəyər cütlərini saxlamaq üçün istifadə olunan Xəritə əsaslı kolleksiya sinfidir. TreeMap, məlumat elementlərinin artan sırasını saxlayan açar və dəyər cütlərini saxlamaq üçün istifadə olunan Xəritə əsaslı kolleksiya sinfidir. Bu məqalə HashMap və Map interfeysini həyata keçirən TreeMap arasındakı fərqi müzakirə etdi. HashMap və TreeMap arasındakı fərq ondan ibarətdir ki, HashMap məlumat elementlərində xüsusi bir sıra saxlamır, TreeMap isə məlumat elementlərinin artan sırasını qoruyur.