İçeriğe geç

Map (HashMap, LinkedHashMap, TreeMap)

Map arayüzü, anahtar (key) ve değer (value) çiftlerini tutmak için kullanılır.
Her anahtar benzersiz (unique) olmalıdır; ancak aynı değeri birden fazla anahtar tutabilir.

📦 Paket: java.util.*


TürÖzellikSıralamaNull AnahtarPerformans
HashMapSırasız, hızlı✅ 1 adet⚡ Çok hızlı
LinkedHashMapEkleme sırasını korur✅ 1 adet⚡ Orta
TreeMapAnahtarlara göre sıralı✅ (doğal)⚡ Daha yavaş

import java.util.HashMap;
HashMap<Integer, String> map = new HashMap<>();
map.put(1, "Elma");
map.put(2, "Armut");
map.put(3, "Muz");
System.out.println(map); // {1=Elma, 2=Armut, 3=Muz}

💡 put() metodu aynı anahtar tekrar eklendiğinde, eski değeri üzerine yazar.


System.out.println(map.get(2)); // Armut
System.out.println(map.keySet()); // [1, 2, 3]
System.out.println(map.values()); // [Elma, Armut, Muz]

map.remove(3); // Anahtar 3 olan çift silinir
System.out.println(map);

System.out.println(map.containsKey(1)); // true
System.out.println(map.containsValue("Elma")); // true

for (Integer key : map.keySet()) {
System.out.println(key + " -> " + map.get(key));
}
for (var entry : map.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
map.forEach((k, v) -> System.out.println(k + " = " + v));

import java.util.LinkedHashMap;
LinkedHashMap<String, Integer> siraliMap = new LinkedHashMap<>();
siraliMap.put("Bir", 1);
siraliMap.put("İki", 2);
siraliMap.put("Üç", 3);
System.out.println(siraliMap); // {Bir=1, İki=2, Üç=3}

✅ Ekleme sırasını korur.


import java.util.TreeMap;
TreeMap<String, Integer> sirali = new TreeMap<>();
sirali.put("C", 3);
sirali.put("A", 1);
sirali.put("B", 2);
System.out.println(sirali); // {A=1, B=2, C=3}

💡 TreeMap, anahtarları doğal sıraya göre otomatik sıralar.


Map TürüNull KeyNull Value
HashMap✅ 1 adet
LinkedHashMap✅ 1 adet
TreeMap

System.out.println("Boyut: " + map.size());
map.clear();
System.out.println(map.isEmpty()); // true

import java.util.*;
public class KelimeSayaci {
public static void main(String[] args) {
String metin = "java kod yaz java öğren java";
String[] kelimeler = metin.split(" ");
HashMap<String, Integer> sayac = new HashMap<>();
for (String kelime : kelimeler) {
sayac.put(kelime, sayac.getOrDefault(kelime, 0) + 1);
}
sayac.forEach((k, v) -> System.out.println(k + " : " + v));
}
}

🔢 Çıktı:
java : 3
kod : 1
yaz : 1
öğren : 1


MetotAçıklama
put(key, value)Eleman ekler veya günceller
get(key)Değeri döndürür
remove(key)Anahtarı siler
keySet()Tüm anahtarları döner
values()Tüm değerleri döner
entrySet()Anahtar-değer çiftlerini döner
containsKey()Anahtar var mı kontrol eder
containsValue()Değer var mı kontrol eder
size()Eleman sayısını döner
clear()Tümünü siler

TürSıralamaNull KeyPerformans
HashMap⚡ Hızlı
LinkedHashMap✅ Ekleme sırası⚡ Orta
TreeMap✅ Doğal sıralama⚡ Yavaş

💡 Not: Map yapıları, anahtar-değer ilişkisini yönetmek için en yaygın kullanılan koleksiyon türlerindendir.
Örneğin: kullanıcı id → isim, ürün kodu → fiyat gibi.