import java.util.List;
import java.util.Map;
import java.util.TreeMap;

public class GayaDeklarasi {

    public static void main(String[] args) {
        // Deklarasi klasik: tipe generik yang sama ditulis di kedua sisi '='.
        Map<String, List<String>> belanjaKlasik = new TreeMap<>(Map.of(
                "toko Buah", List.of("jeruk", "apel", "pisang"),
                "toko Roti", List.of("roti gandum", "croissant")));

        // Deklarasi var: compiler menyimpulkan tipe dari sisi kanan.
        var belanja = new TreeMap<>(Map.of(
                "toko Buah", List.of("jeruk", "apel", "pisang"),
                "toko Roti", List.of("roti gandum", "croissant")));

        System.out.println("isi sama   : " + belanjaKlasik.equals(belanja));
        System.out.println("kelas var  : " + belanja.getClass().getSimpleName());

        for (var entri : belanja.entrySet()) {
            System.out.println(entri.getKey() + " -> " + entri.getValue().size() + " item");
        }

        var hargaSatuan = 15_000;
        var jumlah = 3;
        var total = hargaSatuan * (long) jumlah;
        System.out.println("total      : Rp" + total);
    }
}
