Junior
Java-da lambda ifadələri nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da lambda ifadəsi, anonim funksiyaları (ad olmadan funksiyalar) qısa şəkildə ifadə etmək üçün yoldur. Onlar funksional interfeyslərin nümunələrini yaratmaq üçün istifadə olunur.
Əsas komponentlər:
- Parametrlər siyahısı:
()mötərizələri parametrlər siyahısını ehtiva edir. Əgər parametr yoxdursa, boş mötərizələr istifadə olunur. - Ox
->: Parametrlər siyahısını lambda bədənindən ayırır. -
Bədən: Yeganə ifadə və ya mötərizələr `{}` içində kod bloku ola bilər.
Parametrsiz nümunə:
// Funksional interfeys
@FunctionalInterface
interface Greeting {
void sayHello();
}
// Lambda ifadəsinin istifadəsi
Greeting greeting = () -> System.out.println("Hello, World!");
Parametrli nümunə:
// Funksional interfeys
@FunctionalInterface
interface MathOperation {
int operate(int a, int b);
}
// Lambda ifadəsinin istifadəsi
MathOperation addition = (a, b) -> a + b;
MathOperation subtraction = (a, b) -> {
return a - b;
};
Üstünlüklər:
- Qısalığı: Boilerplate kodun miqdarını azaldır.
- Rahaty: Koleksiyaların işlənməsində Stream API ilə birlikdə istifadə olunur.
- Funksional proqramlaşdırma: Java-da funksional proqramlaşdırma elementlərini dəstəkləyir.
Məhdudiyyətlər:
- Yalnız funksional interfeyslərlə istifadə oluna bilər (bir abstrakt metod olan interfeyslər).
- Vəziyyətə malik ola bilməz (yəni, bu dəyişənləri kontekstindən xaricdə dəyişdirə bilməz, əgər bu dəyişənlər açıq şəkildə final və ya effektiv final kimi elan edilməyibsə).
Lambda ifadələri Java 8-də təqdim olunmuşdur.