Java TreeMap sınıfı, verileri bir harita arabirimi kullanarak bir ağaç yapısında depolar. Bu sınıf, AbstractMap sınıfını genişletir ve üst sınıfı gibi, TreeMap'in de iki tür parametresi vardır. Tür parametrelerinden biri TreeMap'teki anahtarları, diğeri ise değerleri temsil eder.
TreeMap veri yapısı, anahtar/değer çiftlerini saklar ve bu veriler üzerinde CRUD işlemleri gerçekleştirmenize olanak tanır.
Java'da TreeMap Nasıl Oluşturulur
TreeMap sınıfında, yeni bir TreeMap nesnesi oluşturmak için kullanabileceğiniz dört oluşturucu bulunur. Varsayılan kurucu, dördünün en popüler olanıdır. Bu kurucu argüman almaz ve boş bir ağaç haritası oluşturur.
// Yeni bir ağaç haritası oluştur
Ağaç Haritası müşteriler = yeni Ağaç Haritası();
Yukarıdaki kod, adı verilen boş bir ağaç haritası oluşturur. müşteriler.
TreeMap Veri Yapısını Doldurma
bu koy() yöntem, bir TreeMap nesnesine bir öğe ekler. İki argüman alır: bir anahtar ve değeri. Ağaç haritasına herhangi bir rastgele sırada öğeler ekleyebilirsiniz ve veri yapısı bunları anahtarlarına göre artan sırada saklayacaktır.
// Bir ağaç haritasını doldur
müşteriler.put(105, "Jessica Jones");
müşteriler.put(102, "Mark Williams");
müşteriler.put(104, "Phil Blair");
müşteriler.put(101, "Kim Brown");
müşteriler.put(103, "Jim Riley");
Yukarıdaki kod, müşterilerin ağaç haritasına rastgele sırayla beş müşteri ekler.
Bir Ağaç Haritasındaki Öğeleri Görüntüleme
TreeMap sınıfı, verilerini bir nesnede saklar. Bu nedenle, bir ağaç haritasındaki tüm öğeleri görmek için ağaç haritası nesnesini konsola yazdırabilirsiniz:
// Tüm ağaç haritası öğelerini bir nesne olarak görüntüle
System.out.println (müşteriler);
Yukarıdaki kod, aşağıdaki çıktıyı konsola yazdırır:
{101=Kim Brown, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}
Yukarıdaki nesnenin öğeleri artan sırada görüntülediğini unutmayın. Ayrıca her bir öğeyi ve karşılık gelen anahtarını kullanarak da görüntüleyebilirsiniz. döngü için bir Java.
// Bir yineleyici ile tüm öğeleri görüntüle
için (Giriş müşteri: müşteriler.entrySet()) {
System.out.println("Anahtar: " + müşteri.getKey() + " Değer: " + müşteri.getValue());
}
Yukarıdaki kod, aşağıdaki çıktıyı konsola yazdırır:
Anahtar: 101 Değer: Kim Brown
Anahtar: 102 Değer: Mark Williams
Anahtar: 103 Değer: Jim Riley
Anahtar: 104 Değer: Phil Blair
Anahtar: 105 Değer: Jessica Jones
Bir Ağaç Haritasındaki Öğeleri Güncelleme
TreeMap sınıfı, mevcut bir öğeyi aşağıdakileri kullanarak güncellemenizi sağlar. yer değiştirmek() yöntem. İki değiştirme yöntemi vardır. İlk yöntem, mevcut bir anahtarı ve mevcut anahtarı eşleştirmek istediğiniz yeni değeri alır.
// Mevcut değeri değiştir
müşteriler.değiştir(101,"Kim Smith");
System.out.println (müşteriler);
Yukarıdaki kod, konsolda aşağıdaki nesneyi yazdırır:
{101=Kim Smith, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}
Gördüğün gibi Kim Brown şimdi Kim Smith. İkinci replace() yöntemi, mevcut bir anahtarı, anahtarın geçerli değerini ve anahtarla eşlemek istediğiniz yeni değeri alır.
// Mevcut değeri değiştir
müşteriler.değiştir(103,"Jim Riley", "Michelle Noah");
System.out.println (müşteriler);
Yukarıdaki kod, konsolda aşağıdaki nesneyi yazdırır:
{101=Kim Brown, 102=Mark Williams, 103=Michelle Noah, 104=Phil Blair, 105=Jessica Jones}
Yukarıdaki nesnede Michelle Nuh yerini alır Jim Riley.
Ağaç Haritasından Öğeleri Silme
Ağaç haritasından tek bir öğeyi kaldırmak isterseniz, kaldırmak() yöntem tek seçeneğinizdir. Kaldırmak istediğiniz öğeyle ilişkili anahtarı alır ve silinen değeri döndürür.
// Bir öğeyi kaldır
müşteriler.kaldır(104);
System.out.println (müşteriler);
Yukarıdaki kodu çalıştırmak, aşağıdaki nesneyi konsola yazdırır:
{101=Kim Smith, 102=Mark Williams, 103=Michelle Noah, 105=Jessica Jones}
Bu Java Sınıfı ayrıca bir açık() ağaç haritasındaki tüm öğeleri silmenizi sağlayan yöntem.
TreeMap vs. HashMap Java Sınıfı
TreeMap ve HashMap, daha popüler Java harita sınıflarından ikisidir. Her ikisi de AbstractMap sınıfını genişletir. Bu ilişki, TreeMap ve HashMap sınıflarının aynı işlevlerin çoğuna erişmesini sağlar.
Ancak, bu iki harita sınıfı arasında dikkate değer bazı farklılıklar vardır. TreeMap, Harita arayüzünün Kırmızı-Siyah ağaç uygulamasını kullanırken HashMap bir karma tablo kullanır. HashMap, tek bir boş anahtar saklamanıza izin verirken, TreeMap bunu yapmaz. Son olarak, HashMap, TreeMap'ten daha hızlıdır. İlkinin algoritmik hızı O(1), ikincisinin ise O(log (n))'dir.