Odak modu
TreeMap Nedir?
TreeMap, Java'da sıralı bir key-value(anahtar-değer) haritası sunan bir koleksiyon sınıfıdır ve java.util paketinin bir parçasıdır. Bu sınıf, anahtarları doğal sıralarına göre veya belirtilen bir Comparator kullanarak sıralar. TreeMap, Map arayüzünü implement eder ve genellikle sıralı verilerle çalışmak için kullanılır.
TreeMap, anahtarları sıralamak için bir ikili arama ağacı (red-black tree) kullanır. Bu yapısı sayesinde, veriler her zaman sıralı olarak saklanır ve sıralı erişim sağlar. TreeMap ile veri eklerken, her yeni öğe sıralama kriterine göre doğru konumda eklenir.
Özellikler:
Kullanım:
TreeMap, sıralı veri saklamak gerektiğinde, örneğin, sıralı anahtarlar üzerinde işlem yaparken çok faydalıdır. Ayrıca, sıralı bir harita üzerinden hızlı arama yapabilmek de TreeMap'in avantajlarındandır.
Örnek:
import java.util.TreeMap;
public class TreeMapExample {
public static void main(String[] args) {
// TreeMap oluşturma
TreeMap<Integer, String> map = new TreeMap<>();
// Elemanlar ekleme
map.put(3, "Üç");
map.put(1, "Bir");
map.put(4, "Dört");
map.put(2, "İki");
// Anahtar sırasına göre yazdırma
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
Çıktı:
1: Bir
2: İki
3: Üç
4: Dört
Bu örnekte, TreeMap anahtarları doğal sırasına göre sıralar ve çıktıyı sıralı bir şekilde gösterir. Anahtarlar eklenme sırasına göre değil, küçükten büyüğe sıralanır.
Özel Durum: Comparator Kullanımı
Eğer anahtarları farklı bir sırayla sıralamak isterseniz, bir Comparator kullanabilirsiniz.
import java.util.*;
public class TreeMapWithComparator {
public static void main(String[] args) {
// Descending order (ters sıralama) için Comparator kullanma
TreeMap<Integer, String> map = new TreeMap<>(Collections.reverseOrder());
// Elemanlar ekleme
map.put(3, "Üç");
map.put(1, "Bir");
map.put(4, "Dört");
map.put(2, "İki");
// Ters sıralı anahtarları yazdırma
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
Çıktı (Ters sıralı):
4: Dört
3: Üç
2: İki
1: Bir
Sonuç:
TreeMap, sıralı veri yapılarıyla çalışmak için oldukça faydalıdır ve sıralı anahtarlar üzerinde işlem yaparken kullanışlıdır. Verilerin sıralı olması gereken durumlarda, sıralama işlemini otomatik olarak yapması, performans açısından da avantaj sağlar. Ancak, null anahtarları kabul etmemesi ve sıralama işleminin zaman karmaşıklığı, bazı durumlarda dikkat edilmesi gereken noktalar olabilir.
Sektörde en çok aranan yazılım becerilerini kazan
Yapay zeka desteği, birebir mentörlük saatleri, canlı dersler ve senin için özel hazırlanmış içeriklerle eksiklerini tamamla, düzenli geri bildirimler al ve öğrenme sürecini en verimli hale getir.
Yunus Emre Kabakcı
Patika+ mezunuPatika+ Fullstack Web Development Bootcamp mezunumuz Yunus Emre,
3 ay içinde Katar’dan aldığı teklif ile, global bir şirket olan Pavo Group’da işe başladı!
“İçerik zenginliği, mentor desteği, ileriye dönük bir network sağlaması ve dünyada en çok tercih edilen frameworkler üzerinden bir eğitim veriyor olması Patika+’ı tercih etmemin temel sebepleri oldu!“
Yorum yapabilmek için derse kayıt olmalısın!