entrySet() ile Yineleme
Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası — ders 18 / 59.
entrySet() ile yineleme yapmak, HashMap'ten bir Map.Entry nesneleri kümesi elde etmek anlamına gelir. Her bir Map.Entry hem anahtarı hem de ona karşılık gelen değeri sağlar; bu da keySet() ile gereken fazladan arama işlemini önlediği için onu daha verimli hale getirir.
Bir HashMap oluşturun:
HashMap<String, Integer> inventory = new HashMap<>();
inventory.put("Laptop", 10);
inventory.put("Mouse", 50);
inventory.put("Keyboard", 30);entrySet() kullanarak yineleyin:
for (Map.Entry<String, Integer> entry : inventory.entrySet()) {
System.out.println("Product: " +
entry.getKey() + ", Quantity: " +
entry.getValue());
}
// Ürün: Laptop, Miktar: 10
// Ürün: Mouse, Miktar: 50
// Ürün: Keyboard, Miktar: 30Görev
KolayScanner aracılığıyla okunan bir JSON dizesinden bir HashMap (anahtar olarak ürün adları ve değer olarak miktarlar) kabul eden <strong>printInventoryEntrySet</strong> adında bir metot oluşturun. Metodunuz, entrySet() metodunu kullanarak HashMap üzerinde gezinmeli ve her anahtar-değer çiftini şu formatta yazdırmalıdır:
Product: <product name>, Quantity: <quantity>Kopya kağıdı
Bir HashMap üzerinde gezinmek ve hem anahtarlara hem de değerlere verimli bir şekilde erişmek için entrySet() yöntemini kullanın:
HashMap<String, Integer> inventory = new HashMap<>();
inventory.put("Laptop", 10);
inventory.put("Mouse", 50);
inventory.put("Keyboard", 30);
for (Map.Entry<String, Integer> entry : inventory.entrySet()) {
System.out.println("Product: " +
entry.getKey() + ", Quantity: " +
entry.getValue());
}Her bir Map.Entry nesnesi şunları sağlar:
entry.getKey()- anahtarı döndürürentry.getValue()- değeri döndürür
Bu yaklaşım, fazladan arama yapmaktan kaçındığı için keySet() kullanmaktan daha verimlidir.
Kendin dene
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
public class Main {
public static void printInventoryEntrySet(HashMap<String, Integer> inventory) {
// Kodunuzu buraya entrySet() kullanarak yazın
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String inventoryString = scanner.nextLine();
// JSON dizesini HashMap<String, Integer> yapısına dönüştürün
Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
HashMap<String, Integer> inventory = new Gson().fromJson(inventoryString, mapType);
printInventoryEntrySet(inventory);
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık & Akış bölümündeki tüm dersler
1Çok Boyutlu Diziler
2D Diziler Temelleri2D Dizi Elemanlarına Erişim2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaJagged Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey2HashMap Bölüm 1
HashMap Nedir?HashMap TanımlamaDeğerlere ErişimAnahtarın Varlığını Kontrol EtmeSözlükleri DeğiştirmeÖzet - HashMap3HashMap Bölüm 2
HashMap YöntemlerikeySet() ile YinelemeentrySet() ile Yinelemeİç İçe HashMapÖzet - Depo YönetimiÖzet - HashMap İşlemleri6İleri Akış Kontrolü
Etiketli İfadelerSwitch İfadesiDesen EşleştirmeKoruyucu Yan CümlelerÖzet - Akış Kontrolü9Proje - Benzersiz Kelime Sayacı
Metin Girişi ve DepolamaKelime İşleme