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. Tip parametrelerinden biri TreeMap’teki anahtarları, diğeri ise değerleri temsil eder.

Java TreeMap Veri Yapısı Nasıl Kullanılır?

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ı, yeni bir TreeMap nesnesi oluşturmak için kullanabileceğiniz dört oluşturucuya sahiptir. Varsayılan kurucu, dördü arasında en popüler olanıdır. Bu yapıcı hiçbir argüman almaz ve boş bir ağaç haritası oluşturur.

// Create a new tree map

TreeMap<Integer,String> customers = new TreeMap<Integer,String>();

Yukarıdaki kod, customer adlı boş bir ağaç haritası oluşturur .

TreeMap Veri Yapısını Doldurma

put() yöntemi , bir TreeMap nesnesine bir öğe ekler. İki bağımsız değişken alır; bir anahtar ve değeri. Öğeleri ağaç haritasına herhangi bir rasgele sırada ekleyebilirsiniz ve veri yapısı bunları anahtarlarına göre artan sırada depolar.

// Populate a tree map

customers.put(105, “Jessica Jones”);

customers.put(102, “Mark Williams”);

customers.put(104, “Phil Blair”);

customers.put(101, “Kim Brown”);

customers.put(103, “Jim Riley”);

Yukarıdaki kod, müşterilerin ağaç haritasına rastgele sırayla beş müşteri ekler.

Öğeleri Bir Ağaç Haritasında Görüntüleme

TreeMap sınıfı, verilerini bir nesnede saklar. Böylece, bir ağaç haritasındaki tüm öğeleri görmek için ağaç haritası nesnesini konsola yazdırabilirsiniz:

// View all tree map items as an object

System.out.println(customers);

Yukarıdaki kod konsola aşağıdaki çıktıyı 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. Java for döngüsü kullanarak her bir öğeyi ve ona karşılık gelen anahtarı da görüntüleyebilirsiniz .

// View all items with an iterator

for (Entry<Integer, String> customer : customers.entrySet()) {

System.out.println(“Key: ” + customer.getKey() + ” Value: ” + customer.getValue());

}

Yukarıdaki kod konsola aşağıdaki çıktıyı yazdırır:

Key: 101 Value: Kim Brown

Key: 102 Value: Mark Williams

Key: 103 Value: Jim Riley

Key: 104 Value: Phil Blair

Key: 105 Value: Jessica Jones

Bir Ağaç Haritasındaki Öğeleri Güncelleme

TreeMap sınıfı, replace() yöntemini kullanarak mevcut bir öğeyi güncellemenizi sağlar . İki değiştirme yöntemi vardır. İlk yöntem, mevcut bir anahtarı ve mevcut anahtarı eşlemek istediğiniz yeni değeri alır.

// Replace existing value

customers.replace(101,”Kim Smith”);

System.out.println(customers);

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üz gibi Kim Brown artık Kim Smith oldu . İkinci replace() yöntemi, mevcut bir anahtarı, anahtarın geçerli değerini ve anahtarla eşlemek istediğiniz yeni değeri alır.

// Replace existing value

customers.replace(103,”Jim Riley”, “Michelle Noah”);

System.out.println(customers);

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 Jim Riley’nin yerini Michelle Noah alıyor .

Ağaç Haritasından Öğeleri Silme

Ağaç haritasından tek bir öğeyi kaldırmak istiyorsanız, remove() yöntemi tek seçeneğinizdir. Kaldırmak istediğiniz öğeyle ilişkili anahtarı alır ve silinen değeri döndürür.

// Remove an item

customers.remove(104);

System.out.println(customers);

Yukarıdaki kodu çalıştırmak konsola aşağıdaki nesneyi yazdırır:

{101=Kim Smith, 102=Mark Williams, 103=Michelle Noah, 105=Jessica Jones}

Bu Java Sınıfı ayrıca, ağaç haritasındaki tüm öğeleri silmenizi sağlayan bir clear() yöntemine sahiptir.

TreeMap ve 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ına aynı işlevlerin çoğuna erişim 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. Birincisinin algoritmik hızı O(1) iken, ikincisi O(log(n))’dir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir