Anahtar Farkı – HashMap ve TreeMap
Programlamada veri toplamak için çeşitli mekanizmalar vardır. Koleksiyonlar, verileri depolamak için bir yöntemdir. Java gibi programlama dilleri Koleksiyonları kullanır. Bir dizi veri öğesini depolamak ve işlemek için sınıfları ve arabirimleri olan bir çerçevedir. Normal bir dizide, depolanacak sabit sayıda öğe vardır. Bu, dizilerin bir sınırlamasıdır. Bunun yerine programcı koleksiyonları kullanabilir. Koleksiyonlar kullanılarak ekleme, silme, sıralama ve arama gibi işlemler yapılabilir. Java'da Harita arayüzü koleksiyonlara aittir. Harita, anahtar, değer çiftlerindeki verileri temsil etmek için kullanılır. Yalnızca benzersiz anahtarlar vardır ve her birinin karşılık gelen bir değeri vardır. HashMap ve TreeMap, Harita arabirimini uygulayan sınıflardır. HashMap, veri öğelerinde belirli bir sırayı korumayan anahtar ve değer çiftlerini depolamak için kullanılan Harita tabanlı bir koleksiyon sınıfıdır. TreeMap, veri öğelerinin artan sırasını koruyan anahtar ve değer çiftlerini depolamak için kullanılan Harita tabanlı bir koleksiyon sınıfıdır. HashMap ve TreeMap arasındaki temel fark, HashMap'in veri öğelerinde belirli bir sırayı korumaması ve TreeMap'in veri öğelerinin artan sırasını korumasıdır.
HashMap nedir?
HashMap, harita arayüzünü uygulayan bir sınıftır. AbstractMap sınıfını genişletir ve Map arabirimini uygular. Bir HashMap, anahtar, değer çiftlerini içerir. Her öğe benzersizdir. Anahtarı kullanarak öğeleri HashMap'te bulmak kolaydır. Bir HashMap bildirmek aşağıdaki gibidir.
public class HashMap, AbstractMap'i genişletir Harita, Klonlanabilir, Serileştirilebilir
K, anahtarı belirtirken V, o belirli anahtara karşılık gelen değeri belirtir. Her anahtar, değer çifti HashMap'in bir girişidir.
Şekil 01: Harita Arayüzü
HaspMap'i anlamak için aşağıdaki gibi bir senaryo varsayın. Programcı bir dizi öğrenci adını ve karşılık gelen dizin numaralarını saklamak isterse, HashMap'i kullanabilir. İndeks numaralarını bulmak için öğrenci isimleri kullanılır. Bu nedenle, öğrenci adları anahtar, dizin numaraları ise değerlerdir.
Şekil 02: Java Kullanan HashMap Programı
Yukarıdaki programa göre HashMap'in bir nesnesi oluşturulur. Ardından programcı bu nesneyi kullanarak öğeler ekleyebilir. Put yöntemi kullanılarak değerler eklenebilir. Değerleri getirmek için programcı, anahtarla get yöntemini kullanmalıdır. StudentList.get(“150”) kullanılırken; Ann olan dizine karşılık gelen adı yazdıracaktır. Programcı tüm değerleri almak istiyorsa, tüm anahtarları ve değerleri yazdırmak için Map. Entry'yi kullanabilir. Çıktıyı gözlemlerken, HashMap'in belirli bir sırayı korumadığı görülebilir. Öğeleri eklenen sırada yazdırmaz. Öğeler rastgele bir sırayla yazdırılır.
TreeMap nedir?
TreeMap, Java'da Harita arabirimini uygulayan bir sınıftır. Bir HashMap'e benzer şekilde, aynı zamanda anahtar, değer çiftlerini saklamak için ancak artan sırada kullanılır. TreeMap, NavigableMap'i uygular ve NavigableMap, SortedMap'i genişletir ve SortedMap, Harita'yı genişletir. Her öğe benzersizdir. Bir TreeMap bildirmek aşağıdaki gibidir.
public sınıfı TreeMap, AbstractMap'i genişletir NavigableMap, Klonlanabilir, Serileştirilebilir
K, anahtarı belirtirken V, o belirli anahtara karşılık gelen değeri belirtir. Her anahtar, değer çifti, TreeMap'in bir girişidir.
Şekil 03: Java kullanan TreeMap Programı
Yukarıdaki programa göre, TreeMap'in bir nesnesi oluşturulur. Ardından programcı bu nesneyi kullanarak öğeler ekleyebilir. Put yöntemi kullanılarak değerler eklenebilir. Değerleri getirmek için programcı, anahtarla get yöntemini kullanmalıdır. StudentList.get(“150”) kullanılırken; Ann olan dizine karşılık gelen adı yazdıracaktır. Programcı tüm değerleri almak istiyorsa, tüm anahtarları ve değerleri yazdırmak için Map. Entry'yi kullanabilir. Çıktıyı gözlemlerken, TreeMap'in belirli bir sırayı koruduğu görülebilir. Öğeler artan sırada yazdırılır.
HashMap ve TreeMap Arasındaki Benzerlikler Nelerdir?
- Hem HashMap hem de TreeMap, Harita arayüzünü uygular.
- Hem HashMap hem de TreeMap birçok öğeyi saklayabilir ve değiştirebilir.
- Hem HashMap hem de TreeMap anahtar, değer çiftleri içerir.
- Hem HashMap hem de TreeMap birçok boş değere sahip olabilir.
- Hem HashMap'te hem de TreeMap'te saklanabilecek öğe sayısında bir sınırlama yoktur.
HashMap ve TreeMap Arasındaki Fark Nedir?
HashMap vs TreeMap |
|
A HashMap, veri öğelerinde belirli bir sırayı korumayan anahtar ve değer çiftlerini depolamak için kullanılan Harita tabanlı bir koleksiyon sınıfıdır. | A TreeMap, veri öğelerinin artan sırasını koruyan anahtar ve değer çiftlerini depolamak için kullanılan Harita tabanlı bir koleksiyon sınıfıdır. |
Sipariş | |
HashMap düzeni sağlamaz. | Ağaç Haritası artan sırayı korur. |
Boş Anahtar | |
HashMap bir boş anahtar içerebilir. | TreeMap'te boş anahtar olamaz. |
Performans | |
HashMap, TreeMap'ten daha hızlıdır. | TreeMap, HashMap'ten daha yavaştır. |
Özet – HashMap vs TreeMap
Java gibi programlama dilleri, toplama çerçevesini içerir. Dizilerde sabit sayıda eleman olabilir. Bu nedenle, dizi boyutu başlangıçta başlatılmalıdır. Koleksiyonlarda, programcı birçok öğeyi gerektiği gibi saklayabilir. Depolanacak belirli bir miktar yoktur. Harita, koleksiyon çerçevesine ait bir arayüzdür. HashMap, veri öğelerinde belirli bir sırayı korumayan anahtar ve değer çiftlerini depolamak için kullanılan Harita tabanlı bir koleksiyon sınıfıdır. TreeMap, veri öğelerinin artan sırasını koruyan anahtar ve değer çiftlerini depolamak için kullanılan Harita tabanlı bir koleksiyon sınıfıdır. Bu makale, Harita arabirimini uygulayan HashMap ve TreeMap arasındaki farkı tartıştı. HashMap ve TreeMap arasındaki fark, HashMap'in veri öğelerinde belirli bir sırayı korumaması ve TreeMap'in veri öğelerinin artan sırasını korumasıdır.