import java.util.List;
import java.util.stream.Stream;

public class StreamSekaliPakai {

    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)
        );

        Stream<Produk> aliran = produk.stream();

        long jumlahPertama = aliran.filter(p -> p.harga() >= 50000).count();
        System.out.println("Eksekusi pertama, produk mahal: " + jumlahPertama);

        try {
            long jumlahKedua = aliran.filter(p -> p.kategori().equals("minuman")).count();
            System.out.println("Eksekusi kedua: " + jumlahKedua);
        } catch (IllegalStateException e) {
            System.out.println("Eksekusi kedua ditolak: " + e.getMessage());
        }
    }
}
