Middle
Java-da lambda ifadələri nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da lambda ifadəsi anonim funksiyadır. Bu, funksionallığı metodun arqumenti kimi və ya kodu məlumat kimi nəzərdən keçirməyə imkan verir.
Əsas xüsusiyyətlər:
- Anonimlik: Adı yoxdur.
- Funktional interfeys: Lambda ifadəsi həmişə funksional interfeys ilə əlaqəlidir (bir abstrakt metod olan interfeys).
- Sintaksis:
(parametrlər) -> { bədən }
Consumer funksional interfeysi ilə istifadə nümunəsi:
import java.util.function.Consumer;
// `Consumer<T>` funksional interfeysi bir abstrakt metoda malikdir: accept(T t)
Consumer<String> salam = (ad) -> {
System.out.println("Salam, " + ad);
};
salam.accept("Dünya"); // Çıxış: Salam, Dünya
Runnable interfeysi ilə istifadə nümunəsi:
// `Runnable` interfeysi bir abstrakt metoda malikdir: run()
Runnable tapşırıq = () -> {
System.out.println("Tapşırıq ayrı bir ipdə icra olunur");
};
new Thread(tapşırıq).start(); // Yeni ipdə tapşırığı başlat
Sintaksis variantları:
- Parametrlər olmadan:
() -> { System.out.println("Salam"); } - Bir parametr, mötərizəsiz:
ad -> System.out.println("Salam, " + ad) - Bir neçə parametr, mötərizələr və tiplərlə:
(int a, int b) -> { return a + b; } - Tiplər olmadan çoxlu parametr:
(a, b) -> a + b - Bir sətirlik bədən,
returnolmadan:(a, b) -> a + b - Çox sətirlik bədən, mötərizələr və
returnilə (lazım olarsa):(a, b) -> { int cəm = a + b; return cəm; }
Lambda ifadələri kodu daha qısa, oxumaq asan və Java-da funksional proqramlaşdırmadan istifadə etməyə imkan verir.