Özet - HashMap İşlemleri
Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası — ders 21 / 59.
Görev
Kolay<strong>processHashMap</strong> adında bir metot oluşturun ki bir argüman alsın:
productsadında bir HashMap şu şekilde:- Anahtarlar ürün adlarını temsil eder (
String). - Değerler fiyatları temsil eder (
Double).
- Anahtarlar ürün adlarını temsil eder (
Gerçekleştirilecek İşlemler
- En yüksek fiyata sahip ürünü bulun.
- Eğer birden fazla ürün aynı en yüksek fiyata sahipse, bunlardan herhangi birini döndürün.
- HashMap boşsa, boş bir string döndürün (
"").
- Fiyatı
<strong>50.00</strong>'den büyük olan ürünleri filtreleyin ve bunları yeni bir HashMap'e kaydedin. - Tüm ürünlerin ortalama fiyatını hesaplayın.
- HashMap boşsa, ortalama
0.0olmalıdır.
- HashMap boşsa, ortalama
Dönüş Formatı
Metot, aşağıdaki anahtar-değer çiftlerini içeren yeni bir HashMap döndürmelidir:
| Anahtar | Değer |
|---|---|
"Highest" | En yüksek fiyata sahip ürünün adı (String). |
"Filtered" | Fiyatları 50.00'den büyük olan ürünleri içeren bir HashMap (HashMap<String, Double>). |
"Average" | Tüm ürünlerin ortalama fiyatı (Double). |
Kendin dene
import java.util.LinkedHashMap;
import java.util.HashMap;
import java.util.stream.Collectors;
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 HashMap<String, Object> processHashMap(HashMap<String, Double> products) {
// Kodunuzu buraya yazın
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String productsString = scanner.nextLine();
// JSON dizesini HashMap'e dönüştür
Type mapType = new TypeToken<HashMap<String, Double>>(){}.getType();
HashMap<String, Double> products = new Gson().fromJson(productsString, mapType);
HashMap<String, Object> result = processHashMap(products);
// Tutarlı çıktı sağlamak için Filtered haritayı sırala
Map<String, Double> filteredMap = (Map<String, Double>) result.get("Filtered");
if (filteredMap != null && !filteredMap.isEmpty()) {
Map<String, Double> sortedFiltered = filteredMap.entrySet().stream()
.sorted(Map.Entry.comparingByKey())
.collect(Collectors.toMap(
Map.Entry::getKey,
Map.Entry::getValue,
(a, b) -> b,
LinkedHashMap::new
));
result.put("Filtered", sortedFiltered);
}
System.out.println(result);
}
}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