import java.util.*;

public class TokoSerbaBisa {
    public static void main(String[] args) {
        // Kebutuhan 1: catatan transaksi yang tampil sesuai urutan kejadian -> List.
        List<String> transaksi = new ArrayList<>();
        transaksi.add("T001 Pensil");
        transaksi.add("T002 Buku");
        transaksi.add("T003 Spidol");

        // Kebutuhan 2: pencarian stok berdasarkan kode barang -> Map.
        Map<String, Integer> stok = new HashMap<>();
        stok.put("P01", 120);
        stok.put("B02", 45);

        // Kebutuhan 3: daftar level harga unik yang terurut -> TreeSet.
        TreeSet<Integer> levelHarga = new TreeSet<>();
        levelHarga.addAll(List.of(5000, 25000, 15000, 5000));

        // Kebutuhan 4: tumpukan undo kasir -> Deque sebagai stack.
        Deque<String> undo = new ArrayDeque<>();
        undo.push("batal transaksi T003");
        undo.push("ubah harga P01");

        // Kebutuhan 5: antrean restok dengan prioritas alfabetis -> PriorityQueue.
        PriorityQueue<String> restock = new PriorityQueue<>();
        restock.add("Spidol");
        restock.add("Pensil");
        restock.add("Buku");

        System.out.println("transaksi   : " + transaksi);
        System.out.println("stok P01    : " + stok.get("P01"));
        System.out.println("level harga : " + levelHarga);
        System.out.println("undo terbaru: " + undo.peek());
        System.out.println("restock     : " + restock.poll() + ", " + restock.poll()
                + ", " + restock.poll());
    }
}
