import java.util.List;
import java.util.function.UnaryOperator;

public class LambdaVsReferensi {
    public static void main(String[] args) {
        List<String> nama = List.of("budi", "siti", "dewi");

        // Method reference sebagai argumen langsung
        System.out.println("-- forEach(System.out::println) --");
        nama.forEach(System.out::println);

        // Dua penulisan yang setara penuh
        UnaryOperator<String> kapitalLambda = s -> s.toUpperCase();
        UnaryOperator<String> kapitalReferensi = String::toUpperCase;

        System.out.println("-- lambda vs method reference --");
        for (String n : nama) {
            System.out.println(kapitalLambda.apply(n) + " / " + kapitalReferensi.apply(n));
        }
    }
}
