Java'da HashMap
scores adında bir HashMap<String, String> oluşturun, scores.put("oak", "leaf"); çağırın, sonra scores.get("oak") yazdırın. Desk.java dosyasını derleyin ve java Desk çalıştırın. Ekran tek satır göstermelidir: leaf. Anahtar "oak" değeri "leaf" bulur. Bir çifti koyup aynı anahtarla geri okumak bu sayfanın öğrettiği şeydir.
Değeri bulan bir anahtar
list-methods sayfasında değerlere yuva numarasıyla ulaşıyordunuz: get(0). Bir HashMap sizin seçtiğiniz bir anahtarla değere ulaşır. Çifti put ile yazarsınız. Değeri get ve aynı anahtarla okursunuz. Bu dersin öğretim yolunda sıfır yuvası yoktur — anahtar etikettir.
Desk.java dosyasını açın. Dosya adıyla eşleşsin diye genel sınıf adını Desk tutun. Kalan ArrayList satırlarını, tags.get(0), tags.size(), tags.remove(0) ve her Rack veya Shelf demosunu silin. Bunlar liste sayfalarına aittir. Her Scanner, nextLine veya klavye okumasını da silin. Program yazı beklememelidir.
Üste yakın, public class Desk satırının üstüne yazın:
import java.util.HashMap;
Bu import HashMap türünü kısa adla erişilir kılar. Onsuz javac bu sayfada kısa ad HashMap’i görmez. java.util ve HashMap’i dikkatle yazın. Burada import java.util.*;’yi zorunluluk yapmayın — tek doğru import yeter.
main içinde haritayı oluşturun:
HashMap<String, String> scores = new HashMap<String, String>();
Açısal parantezlerdeki ilk tür anahtar türüdür. İkincisi değer türüdür. Bu sayfada ikisi de String’dir ki demo kelimelerde kalsın. scores adı öğretim dosyasında tuttuğunuz addır. new HashMap<String, String>() çağrısı boş bir harita kurar. O anda hiç çift tutmaz.
oak’ı leaf’e koyun, sonra oak’ı okuyun
scores.put("oak", "leaf"); çağrısını kendi satırında yapın. İlk tırnaklı sözcük anahtardır. İkinci tırnaklı sözcük değerdir. put içindeki sıra önemlidir: önce anahtar, sonra değer. Tutacağınız dosyada yerlerini değiştirmeyin.
Sonra yazın:
System.out.println(scores.get("oak"));
get’e aynı anahtar "oak"’ı verin. Tutulan dosya için get argümanı olarak "leaf" vermeyin — get anahtar ister, değer değil. scores.get(0) yazmayın — o Rack’in liste biçimidir, buradaki harita biçimi değil. Derlemeden önce kaydedin.
import java.util.HashMap;
public class Desk {
public static void main(String[] args) {
HashMap<String, String> scores = new HashMap<String, String>();
scores.put("oak", "leaf");
System.out.println(scores.get("oak"));
}
}
Desk.java’nın bulunduğu klasörden javac Desk.java çalıştırın. Parantezler, süslü parantezler, açısal parantezler ve noktalı virgüller uyuşunca javac kendi satırını yazmaz. Sonra java Desk çalıştırın — java Desk.java değil, java HashMap değil. Çalıştırma komutundan .java sonunu çıkarın. main taşıyan sınıfı başlatın.
Program bir satır yazıp durmalıdır: leaf. Sizden yazmanızı istememelidir. Terminal klavye girişi bekliyorsa, eski bir alıştırmadan kalan bir nextLine çağrısı hâlâ bir dosyadadır. O çağrıyı silin; HashMap oluşturmayı, put satırını ve System.out.println(scores.get("oak")); satırını tutun.
Çalıştırmayı bir kez adım adım izleyin. Java Desk.main’den başlar. Import hangi HashMap’i kastettiğinizi çoktan adlandırmıştır. new satırı boş harita kurar. put oak → leaf çiftini saklar. get("oak") çağrısı leaf döner. Yazdırma satırı o sözcüğü yazar. Ekran leaf gösterir. Başka bir şey yazılmamalıdır. oak görürseniz anahtarı elle yazdırdınız veya yanlış get argümanı kullandınız. 2 veya [pine] görürseniz hâlâ Rack size veya remove demosu çalışıyordur — java Desk’e geçin.
javac HashMap bulamıyorum derse import satırı eksiktir, yanlış yazılmıştır veya public class Desk’ten sonradır. import java.util.HashMap; satırını sınıf satırının üstüne taşıyın. Herhangi bir put’ten önce get("oak") çağırırsanız yazdırma null gösterebilir çünkü o anahtar hiç saklanmamıştır. Bu sayfada put’ü get’ten önce tutun. Tırnaksız scores.put(oak, leaf); yazarsanız javac sözcükleri var olmayan adlar gibi işler. Anahtar ve değerin çevresinde tırnakları tutun.
İkinci bakış olarak tüm haritayı yazdırma
İkinci bir Desk dosyası aynı put’ten sonra harita nesnesini yazdırır. Bu, haritanın kendisini yazdırdığınızda Java’nın kullandığı çift biçimini gösterir.
import java.util.HashMap;
public class Desk {
public static void main(String[] args) {
HashMap<String, String> scores = new HashMap<String, String>();
scores.put("oak", "leaf");
System.out.println(scores);
}
}
O ikinci dosyayı aynı şekilde derleyip çalıştırın. Ekran {oak=leaf} gösterir — anahtar, eşittir işareti, değer, süslü parantez içinde. Bu biçim çiftin haritanın içinde olduğunu doğrulamaya yarar. Quiz ekranı leaf için öğretim yolu hâlâ get("oak") içeren ilk dosyadır. Tüm-harita yazdırmayı yalnızca saklanan çifti görmek için kullanın. Hiçbir Desk dosyasına get(0) karıştırmayın — haritalar bu sayfada liste yuva numaralarını kullanmaz.
Ekran [] veya [oak, pine] gösterirse hâlâ ArrayList demosu çalışıyordur. HashMap ve java Desk ile kalın.
Liste get ile ve put ile karşılaştırma
list-methods sayfasında get(0), add’den sonra bir yuva dizini isterdi. Bu sayfada get("oak"), put’ten sonra anahtar dizgisini ister. Yalnızca tags.get(0) yazdıran kalan bir Rack dosyası başka bir derstir. Bu sayfa için Desk içinde put("oak", "leaf") ve get("oak") tutun.
Daha fazla put çağrısıyla daha çok çift saklayabilirsiniz. Bu sayfa anahtar ve yazdırılan değerin kolay görülmesi için bir çift tutar. Sonraki bir sayfa — HashSet — ayrı bir anahtar-değer çifti hikâyesi olmadan benzersiz değerler saklar. Burada HashMap put ve get ile kalın.
Eski Rack.java veya Shelf.java dosyaları yakındaysa onları bırakın veya yalnızca hangi sınıfı çalıştırdığınızı karıştırıyorlarsa silin. Bu dersin HashMap dosyasını derledikten sonra java Desk çalıştırın.
HashSet için ne kalır
Bu sayfa HashMap ile anahtar-değer saklamayı açar. Sonraki sayfa HashSet ile benzersiz değerler kümesini açar. Burada haritada put ve get ile kalın. Bu sayfada set add’ini zorunluluk yapmayın; dersin hedefi değeri bulan anahtar ve ekran leaf’tir.
HashSet’ten önce
java.util.HashMap içe aktarabilir, HashMap<String, String> scores oluşturabilir, scores.put("oak", "leaf"); çağırabilir, sonra scores.get("oak") yazdırabilirsiniz. Desk.java’yı derleyin ve java Desk çalıştırın. Ekran leaf gösterir. Anahtar değeri buldu. Sonraki sayfa HashSet’tir; orada o dersin yolunda her birini ayrı bir anahtarla eşlemeden benzersiz değerler saklarsınız.
Import’u sınıfın üstünde tutun. put’ü get’ten önce tutun. Her iki çağrıda anahtar "oak"’ı aynı tutun. Bu üç alışkanlık ilerlemeden önce bu sayfanın kontrol noktasıdır. get("oak")’ten sonra ekran leaf gösterdiğinde HashMap bu ders için işini yapmıştır ve sonraki konuya hazırsınız.
🧠 Bilginizi Test Edin
Bilginizi Test Edin
Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör
📝 Talimatlar
- Her soruyu dikkatle okuyun
- Her soru için en iyi cevabı seçin
- Quiz'i istediğiniz kadar tekrar alabilirsiniz
- İlerlemeniz üstte gösterilecek