import java.util.List;
import java.util.Map;

public class RantaiInferensi {
    public static void main(String[] args) {
        // Inferensi mengalir sepanjang rantai pemanggilan
        List<Integer> ganda = List.of(1, 2, 3, 4, 5)
                .stream()                 // Stream<Integer> dari List<Integer>
                .map(n -> n * 2)          // type parameter R disimpulkan Integer
                .toList();                // List<Integer>

        System.out.println("Ganda: " + ganda);

        Map<String, Integer> stok = Map.of("pensil", 12, "buku", 7);
        int total = stok.entrySet()
                .stream()                 // Stream<Map.Entry<String, Integer>>
                .mapToInt(e -> e.getValue())   // IntStream
                .sum();
        System.out.println("Total: " + total);
    }
}
