import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

public class StrategiSortir {

    record Produk(String nama, int harga) {}

    // Method utilitas: strategi pengurutan disuntik sebagai Comparator
    static void tampilkan(List<Produk> data, Comparator<Produk> strategi, String judul) {
        List<Produk> salinan = new ArrayList<>(data);
        salinan.sort(strategi);
        System.out.println(judul + " : " + salinan);
    }

    public static void main(String[] args) {
        List<Produk> etalase = List.of(
                new Produk("Kopi", 25000),
                new Produk("Teh", 12000),
                new Produk("Susu", 18000));

        tampilkan(etalase, Comparator.comparing(Produk::harga), "Termurah");
        tampilkan(etalase, Comparator.comparing(Produk::nama), "Abjad");
        tampilkan(etalase, Comparator.comparing(Produk::harga).reversed(), "Termahal");
    }
}
