HashMap ve TreeMap Arasındaki Fark

Temel Fark - HashMap vs TreeMap
 

Programlamada veri toplamak için çeşitli mekanizmalar vardır. Koleksiyonlar, verileri depolamanın bir yöntemidir. Java gibi programlama dilleri Koleksiyonlar kullanır. Bir dizi veri öğesini saklamak ve işlemek için sınıflar ve arabirimler içeren bir çerçevedir. Normal bir dizide saklanacak sabit sayıda öğe vardır. Bu, dizilerin bir sınırlamasıdır. Bunun yerine, programcı koleksiyonları kullanabilir. Ekleme, silme, sıralama ve arama gibi işlemler koleksiyonlar kullanılarak gerçekleştirilebilir. 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, Map arabirimini uygulayan sınıflardır. HashMap, veri öğelerinde belirli bir sıraya sahip olmayan anahtar ve değer çiftlerini depolamak için kullanılan Harita tabanlı bir toplama sınıfıdır. Bir TreeMap, veri öğelerinin artan sırasını koruyan anahtar ve değer çiftlerini saklamak için kullanılan Harita tabanlı bir toplama sınıfıdır. temel fark HashMap ve TreeMap arasında TreeMap veri öğelerinin artan sırasını korurken HashMap veri öğelerinde belirli bir sırayı korumaz.

İÇİNDEKİLER

1. Genel Bakış ve Temel Fark
2. HashMap nedir
3. TreeMap nedir
4. HashMap ve TreeMap Arasındaki Benzerlikler
5. Yan Yana Karşılaştırma - HashMap vs TreeMap Tabular Formunda
6. Özet

HashMap nedir?

HashMap, harita arayüzünü uygulayan bir sınıftır. AbstractMap sınıfını genişletir ve Harita arabirimini uygular. Bir HashMap anahtar, değer çiftlerini içerir. Her öğe benzersizdir. HashMap'teki öğeleri tuşunu kullanarak bulmak kolaydır. HashMap bildirmek aşağıdaki gibidir.

public class HashMap AbstractMap uygular Harita, klonlanamaz, Serializable uzanır

K tuşu belirtirken, V o tuşa karşılık gelen değeri ifade eder. Her anahtar, değer çifti HashMap'in bir girdisidir.

Şekil 01: Harita Arayüzü

HaspMap'i anlamak için aşağıdaki gibi bir senaryo varsayalım. Programcı bir dizi öğrenci adını ve karşılık gelen dizin numaralarını saklamak istiyorsa, HashMap'i kullanabilir. Öğrenci adları dizin numaralarını bulmak için kullanılır. Bu nedenle, öğrenci adları anahtarken, dizin numaraları değerdir.

Şekil 02: Java Kullanan HashMap Programı

Yukarıdaki programa göre, HashMap'in bir nesnesi oluşturulur. Daha sonra programcı bu nesneyi kullanarak elemanlar ekleyebilir. Değerler put yöntemi kullanılarak eklenebilir. Değerleri getirmek için programcı anahtar ile get yöntemini kullanmalıdır. StudentList.get (“150”) kullanırken; karşılık gelen adı Ann olan dizine yazdıracaktır. Programcı tüm değerleri almak istiyorsa, tüm anahtarları ve değerleri yazdırmak için Map.Entry'i kullanabilir. Çıktıyı incelerken HashMap'in belirli bir sıraya sahip olmadığı görülebilir. Öğeleri girilen sırayla yazdırmaz. Öğeler rastgele sırada yazdırılıyor.

TreeMap nedir?

TreeMap, Java'da Harita arabirimini uygulayan bir sınıftır. Bir HashMap'e benzer şekilde, anahtar, değer çiftlerini depolamak için de artan sırada kullanılır. TreeMap, NavigableMap'i ve NavigableMap'i genişletir ve SortedMap'i genişletir ve SortedMap, Haritayı genişletir. Her öğe benzersizdir. Bir TreeMap'in bildirilmesi aşağıdaki gibidir.

public class TreeMap AbstractMap uygular NavigableMap, klonlanamaz, Serializable uzanır

K tuşu belirtirken, V o tuşa karşılık gelen değeri ifade eder. Her anahtar, değer çifti TreeMap'in bir girdisidir.

Şekil 03: Java kullanan TreeMap Programı

Yukarıdaki programa göre, TreeMap'in bir nesnesi oluşturulur. Daha sonra programcı bu nesneyi kullanarak elemanlar ekleyebilir. Değerler put yöntemi kullanılarak eklenebilir. Değerleri getirmek için programcı anahtar ile get yöntemini kullanmalıdır. StudentList.get (“150”) kullanırken; karşılık gelen adı Ann olan dizine yazdıracaktır. Programcı tüm değerleri almak istiyorsa, tüm anahtarları ve değerleri yazdırmak için Map.Entry'i kullanabilir. Çıktıyı incelerken, TreeMap'in belirli bir sırası 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 işleyebilir.
  • Hem HashMap hem de TreeMap anahtar, değer çiftleri içerir.
  • Hem HashMap hem de TreeMap çok sayıda boş değere sahip olabilir.
  • Hem HashMap'de hem de TreeMap'te depolanabilecek öğe sayısında bir sınırlama yoktur.

HashMap ve TreeMap Arasındaki Fark Nedir??

HashMap ve TreeMap Karşılaştırması

HashMap, veri öğelerinde belirli bir sıraya sahip olmayan anahtar ve değer çiftlerini depolamak için kullanılan Harita tabanlı bir toplama sınıfıdır. Bir TreeMap, veri öğelerinin artan sırasını koruyan anahtar ve değer çiftlerini depolamak için kullanılan Harita tabanlı bir toplama sınıfıdır.
 Sipariş
HashMap siparişi korumuyor. TreeMap artan düzeni korur.
Boş Anahtar
HashMap bir boş anahtar içerebilir. TreeMap öğesinin boş anahtarı olamaz.
 Verim
HashMap, TreeMap'ten daha hızlı. TreeMap, HashMap'ten daha yavaş.

ö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ı gerektiği gibi birçok öğeyi saklayabilir. Depolanacak belirli bir miktar yoktur. Harita koleksiyon çerçevesine ait bir arayüzdür. HashMap, veri öğelerinde belirli bir sıraya sahip olmayan anahtar ve değer çiftlerini saklamak için kullanılan Harita tabanlı bir toplama sınıfıdır. Bir TreeMap, veri öğelerinin artan sırasını koruyan anahtar ve değer çiftlerini saklamak için kullanılan Harita tabanlı bir toplama sınıfıdır. Bu makalede, HashMap ve Map arabirimini uygulayan TreeMap arasındaki fark tartışıldı. HashMap ve TreeMap arasındaki fark, HashMap'in veri öğelerinde belirli bir düzeni korumaması, TreeMap'in ise veri öğelerinin artan sırasını korumasıdır.

Referans:

1. “Java'da HashMap - Javatpoint.” Nokta, Burada mevcut
2. “Java'da TreeMap - javatpoint.”  Nokta, Burada mevcut

Görünüm inceliği:

1.'Java.util.Map hiyerarşisi'Rommmn tarafından - Commons Wikimedia üzerinden kendi çalışması, (CC BY-SA 4.0)