Java 8 Lambda Expressions Nedir? Lambda İfadeleri Kullanım Örnekleri

Java SE
javb

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.

 

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Burak KUTBAY 2010 - 2019
%d blogcu bunu beğendi: