import java.util.List;

public class SaringProduk {

    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),
                new Produk("Madu Hutan", "makanan", 120000),
                new Produk("Air Mineral", "minuman", 8000)
        );

        // Satu filter dengan kondisi majemuk &&
        List<Produk> sekaliSaring = produk.stream()
                .filter(p -> p.kategori().equals("minuman") && p.harga() <= 50000)
                .toList();
        System.out.println("Sekali saring : " + sekaliSaring);

        // Dua filter beruntun, kriteria yang sama
        List<Produk> duaTahap = produk.stream()
                .filter(p -> p.kategori().equals("minuman"))
                .filter(p -> p.harga() <= 50000)
                .toList();
        System.out.println("Dua tahap     : " + duaTahap);

        System.out.println("Hasil sama?   : " + sekaliSaring.equals(duaTahap));
    }
}
