شرح Java

التعبيرات اللامية (Lambda)

ما هو التعبير اللامي؟

طريقة مختصرة لكتابة دالة بلا اسم — تُمرّر كقيمة.

// بدلًا من صنف كامل ينفّذ واجهة
Runnable task = () -> System.out.println("يعمل");
task.run();

الصيغة

(معاملات) -> تعبير
(معاملات) -> { جُمل }

أمثلة:

() -> 42                      // بلا معاملات
x -> x * 2                    // معامل واحد
(a, b) -> a + b               // معاملان
(a, b) -> { return a + b; }   // بكتلة

الواجهة الدالية

واجهة بدالة مجرّدة واحدة — يمكن تنفيذها بـ lambda:

@FunctionalInterface
interface Calculator {
  int operate(int a, int b);
}

Calculator add = (a, b) -> a + b;
add.operate(3, 4);   // 7

واجهات جاهزة

الواجهةالاستخدام
Predicate<T>شرط يعيد boolean
Function<T,R>تحويل قيمة
Consumer<T>يستهلك بلا إرجاع
Supplier<T>يوفّر قيمة
import java.util.function.Predicate;
Predicate<Integer> isEven = n -> n % 2 == 0;
isEven.test(4);   // true

مع المجموعات

names.forEach(name -> System.out.println(name));

🎯 التالي: واجهة الـ Stream لمعالجة البيانات.