import java.util.List;

public class TransformasiMap {

    record Produk(String nama, String kategori, int harga) {}

    public static void main(String[] args) {
        List<Produk> produk = List.of(
                new Produk("Kopi Arabika", "minuman", 85000),
                new Produk("Teh Hijau", "minuman", 45000),
                new Produk("Roti Gandum", "makanan", 30000)
        );

        // Objek -> field: Produk dipetakan menjadi nama produk
        List<String> nama = produk.stream().map(Produk::nama).toList();
        System.out.println("Nama       : " + nama);

        // Transformasi teks: setiap nama menjadi huruf besar
        List<String> namaBesar = produk.stream()
                .map(p -> p.nama().toUpperCase())
                .toList();
        System.out.println("Huruf besar: " + namaBesar);

        // Transformasi tipe: String menjadi panjang karakternya
        List<Integer> panjangNama = nama.stream().map(String::length).toList();
        System.out.println("Panjang    : " + panjangNama);
    }
}
