Java 8 Lambda Expressions Nedir? Lambda İfadeleri Kullanım Örnekleri
Java 8 ile gelen fonksiyonel özelliklerden Lambda Expression özelliğine bakacağız. Diğer Java 8 ile gelen yeni özelliklere buradan bakabilirsiniz.
Lambda dediğimiz kavramı kısaca açıklamak gerekirse kendi başına tanımlanabilen parametre alıp gönderebilen fonksiyonlardır aslında. Lambda’lar sayesinde daha az kod ve hızlı geliştirme sağlanabilmektedir. Java 8 ile gelen bu özellik, Java 8’in en önemli özelliğidir.
Örneklerle Lambda kullanıma bakalım.
Kullanım Şekli
(argument-list) -> {body}
1. Adı
2. Parameter listesi
3. Body
4. dönüş tipi.
Fonksiyonel Kullanım
Abstract methodumuzda interface’ler oluşturarak kullanılmasını sağlayan tanımlamadır.
interface Merhaba{ public String soyle(); } public class LambdaDenemesi{ public static void main(String[] args) { Merhaba m=()->{ return "Merhaba Dünya"; }; System.out.println(m.soyle()); } }
Çıktı
Merhaba Dünya
Parametre Alan Kullanım
Parametre alarak kullanma şekline bakalım.
interface Merhaba{ public String soyle(String mesaj); } public class LambdaDeneme{ public static void main(String[] args) { Merhaba m1=(mesaj)->{ return "Merhaba, "+mesaj; }; System.out.println(m1.soyle("Burak")); } }
Çıktı
Merhaba Burak
Karşılaştırma İşlemi
Comparator<Insan> karsilastir =(Insan i1, Insan i2) -> i1.getAgirlik().compareTo(i2.getAgirlik());
Method Referansı İle Kullanım
interface Merhaba{ void soyle(); } public class MerhabaMesaji{ public void mesaj(){ System.out.println("Merhaba Dünya"); } public static void main(String[] args) { MerhabaMesaji merhabamesaji= new MerhabaMesaji(); Merhaba merhaba= merhabamesaji::mesaj; merhaba.soyle(); } }
Çıktı
Merhaba Dünya
merhabamesaji::mesaj; diyerek metodumuzdaki referans ifadeye ulaşılabilmekte.
Java 8 ile gelen Lambda ifadeler kullanarak metodlarımızı daha az efor sarfederek yazabiliyoruz. Yazımı kolaylaştıran Java 8 ile gelen Lambda ifadeleri ile Stream Api İfadeleri de çok rahat kullanabilmekteyiz.
Java 8 Lambda ifadeleri en çok Stream Api ifadelerde kullandığımı söyleyebilirim. Lambda ifadelerin Stream Api İfadeler yazımını oldukça kolaylaştırmış durumda. Önceden Stream Api İfadelerini yazdığım için buraya yazmayacağım. Geniş ve detaylı anlatım için; Stream Api İfadeleri için lütfen burayı tıklayarak okuyunuz.
No Comment! Be the first one.