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

public class SumberNilai {

    public static void main(String[] args) {
        // 1. Stream.of: dari sejumlah nilai lepas (varargs)
        Stream<String> promo = Stream.of("Diskon 10%", "Gratis ongkir", "Cashback 5%");
        System.out.println("Stream.of     : " + promo.toList());

        // 2. Stream.empty: stream kosong, berguna sebagai nilai bawaan
        Stream<String> kosong = Stream.empty();
        System.out.println("Stream.empty  : " + kosong.toList());

        // 3. Arrays.stream: dari array objek
        String[] kategori = {"makanan", "minuman", "alat tulis"};
        System.out.println("Arrays.stream : " + Arrays.stream(kategori).toList());

        // 4. Arrays.stream: dari array primitif menjadi IntStream
        int[] harga = {8000, 45000, 85000};
        System.out.println("Total harga   : " + Arrays.stream(harga).sum());

        // 5. collection.stream(): sumber paling sering dipakai sehari-hari
        List<String> pelanggan = List.of("Budi", "Siti", "Dewi");
        System.out.println("List.stream   : " + pelanggan.stream().toList());
    }
}
