HashMap
- Java kursu
- Başlangıç
- Ders 67/116
- 5 dk
HashMap ile anahtar-değer eşlemesini öğrenirsin.
Anahtar-değer: HashMap
HashMap bir anahtarı bir değere bağlar. Anahtarla değer arasında hızlı geçiş yapmak istediğinde kullanılır; tıpkı bir sözlük gibi.
HashMap<String, Integer> ages = new HashMap<>();
ages.put("Ayşe", 28);
ages.put("Mehmet", 32);
int age = ages.get("Ayşe");
// age = 28İçeride her anahtar yalnızca bir kez bulunur. Aynı anahtara yeniden put yaparsan eski değerin üzerine yazılır. HashMap, java.util paketindedir.
Anahtar kümesi üzerinde döngü
Bir HashMap'in tüm anahtarlarını gezmek için keySet kullanılır. Bu metot anahtarların bir Set olarak görünümünü döner.
for (String name : ages.keySet()) {
System.out.println(name + " - " + ages.get(name));
}Çiftleri (anahtar + değer birlikte) gezmek için entrySet daha verimlidir; çünkü get çağrısı yapmazsın. entrySet'in her ögesi bir Map.Entry'dir.
Uygulama Şehir sıcaklıkları tablosu
Bir HashMap<String, Integer> oluştur; "İstanbul" anahtarına 14, "Ankara" anahtarına 11 değerini koy. Sonra "İstanbul" anahtarının değerini yazdır.
Başlangıç kodu
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// HashMap<String, Integer> oluştur
// İstanbul -> 14, Ankara -> 11
// İstanbul değerini yazdır
}
}Örnek çözüm
HashMap<String, Integer> temps = new HashMap<>();
temps.put("İstanbul", 14);
temps.put("Ankara", 11);
System.out.println(temps.get("İstanbul"));Beklenen çıktı
14
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Aynı anahtarla ikinci put yaparsan ne olur?
- Eski değerin üzerine yazılır
- İkinci değer yok sayılır
- Hata fırlatır
- İki aynı anahtar saklanır Doğru cevap
Açıklama: Anahtar tekil olduğu için eski değer kaybolur.
2 Metot ve işlevi eşleştir
| Kavram | Anlamı |
|---|---|
put(k, v) |
Anahtar-değer ekler |
get(k) |
Anahtarın değerini döner |
keySet() |
Anahtar kümesini döner |
size() |
Çift sayısını döner |
3 Boşluğu doldur: değeri al
HashMap<String, Integer> ages = new HashMap<>();
ages.put("Ayşe", 28);
int age = ages.____("Ayşe");
HashMap<String, Integer> ages = new HashMap<>();
ages.put("Ayşe", 28);
int age = ages.get("Ayşe");
Açıklama: get("Ayşe") değeri döner.