Junior
Java'da lambda ifadeleri nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Java'da lambda ifadesi, fonksiyonel arayüzü uygulayan anonim (isimsiz) bir fonksiyondur.
Ana özellikler:
- İsmi yoktur.
- Parametreler alabilir.
- Gövde tek bir ifade veya bir dizi işlem bloğundan oluşabilir.
- Dönüş tipi belirtilmez (otomatik olarak çıkarılır).
- Fonksiyonel programlama ve akışlar (Streams API) ile çalışma için gereklidir.
Sözdizimi:
// Parametre olmadan
() -> { // gövde }
// Bir parametre ile (tip atlanabilir)
param -> ifade
// Birden fazla parametre ile (tip atlanabilir, parantez gerekir)
(param1, param2) -> { // gövde }
Kullanım örneği:
// Fonksiyonel arayüz (yerleşik)
import java.util.function.Consumer;
// Lambda ile uygulama
Consumer<String> yazici = s -> System.out.println(s);
yazici.accept("Merhaba Dünya!");
// Fonksiyonel arayüzü kabul eden bir metodda kullanım
import java.util.Arrays;
import java.util.List;
List<Integer> sayilar = Arrays.asList(1, 2, 3, 4, 5);
sayilar.forEach(n -> System.out.println(n)); // forEach, Consumer kabul eder
Avantajlar:
- Daha özlü kod.
- Basit durumlarda okunabilirliği artırır.
- Fonksiyonel programlama kullanma imkanı sağlar.
- Koleksiyonlar ve çoklu iş parçacığı ile çalışmayı basitleştirir.
Kısıtlamalar:
- İç içe veya uzun lambdalar anlaşılması zor olabilir.
- Durumları yoktur (örnek alanları olamaz).