Lambda Expressions Java 8

Lambda nedir?

Lambda Expressions Java 8 ile birlikte gelen ifadelerin daha az efor sarf edilerek oluşturulmasını sağlayan anonim tekil görevler olarak değerlendirilebilir. Birçok fonksiyonel programlama dilinde mevcut olan lambda, Java 8 ile hayatımıza girmiş bulunmaktadır. Lambda ifadesi aşağıdaki gibidir.

LambdaTest adında bir interface olduğunu düşünelim ve bunun üzerinden bir implementasyon gerçekleştirelim.

// İnterface
public interface LambdaTest {
void name(String name);
}
//MAİN

public class Main {
    public static void main(String[] args) {
        LambdaTest lambdaTest = new LambdaTest () {
            @Override
            public void name(String name) {
                System.out.print("Hello " + name);
            }
        };
    }
}

Yukarıdaki kod yapısında basit bir interface oluşturduk ve ondan bir nesne oluşturarak anonim inner class şeklinde kullanmış olduk. Aynı kodu birde aşağıdaki gibi Lambda ile yazalım.

@FunctionalInterface
public interface LambdaTest {
    void name(String name);
}
public class Main {
    public static void main(String[] args) {
        LambdaTest lambdaTest = name -> System.out.print("Hello " + name);
    }
}


Java 8  ile gelen Lambda ifadeler kullanarak metodlarımızı daha az efor harcayarak yazabiliyoruz. Lambda ifadelerin Stream Api İfadeler yazımını oldukça kolaylaştırmış durumda. İlgili konu için Stream Api  yazımı okuyabilirsiniz. Hoşçakalın.