Java Util Function Paketi ve Lambda Fonksiyonlar

Posted by dogukanhan on May 11, 2019 · 1 min read

Bu yazımda Java 8 ile birlikte gelen lambda expression ile birlikte, Stream içerisinde yoğun olarak kullanılan java.util.function içerisinde yer alan interfacesleri inceleyeceğiz.

Functional Interface Nedir?

Sadece 1 tane abstract metotu bulunan interface’lere Functional Interface adı verilir. Bu interface Lambda Expression ile birlikte kullanılabilirdir. Bu yüzden farklı bir isme sahip olmuştur. Functional Interface’ler Java 8’in fonksiyonel programlamasını oluşturmaktadır.

Hazır olarak Java içerisinde bulunan Functional Interfacesler olduğu gibi kendimizde sadece bir tane abstract metotu olan bir interface yaratıp bunu lambda expression ile birlikte kullanabiliriz.

Lambda yapısı gereği birden fazla metotu override edemeyecektir. Bu yüzden birden fazla abstract metotu olan interface’sler Lambda ile kullanılamaz.

java.util.function İçindeki Functional Interfacesler.

Belirtilen paket içerisindeki functional interfaceslerimizi 5’e ayırabiliriz.

  • Consumer : Paremetre alarak bir işlem yapar ve sonuç vermez.
  • Supplier: Parametre almaz fakat sonuç verir.
  • Predicate: Parametre alır ve boolean sonuç döndürür.
  • Operator: Parametre alır ve aynı tipde sonuç verrir
  • Function: Parametre alır ve bir sonuç üretir.

Yapısal olarak isimlendirilmeleri

Kaynak: