Twitter Youtube Github
Burak Kutbay'ın Kişisel Blog'u |

Type and hit Enter to search

  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • Spring Core
  • Spring Örnekleri
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale
Java

Java Functional Interface Nedir?

Paylaş

Bu yazıda, Java 8 ile birlikte gelen Functional Interface özelliğinin ne olduğu ve nasıl kullanılacağına dair açıklamalar yapacağım. Ayrıca, bu özelliğin pratikte nasıl kullanılabileceğini gösteren örnekler de paylaşacağım.

İçindekiler

  • Nedir?
  • Kullanımı
  • Java’da Functional Interfaceler
    • Consumer
      • Consumer Örneği
    • Predicate
      • Predicat Örneği
    • Function 
      • Function Örneği
    • Supplier
      • Supplier Örneği

Nedir?

Java’da bir fonksiyonel interface, bir abstract metot bulunan bir interface’dir. içeren bir arayüzdür. Functional interface’ler ile birlikte lambda ifadeleri de kullanabilir.

Kullanımı

Java’da bir fonksiyonel interface oluşturmak için, bir interface tanımlamanız gerekir ve bu interface sadece bir tane abstract metot tanımlamanız gerekir. @FunctionalInterface anotasyonunu belirterek fonksiyonel bir interface olduğunu belirtiyoruz.

@FunctionalInterface public interface InterfaceExample { int apply(int x, int y); }
Code language: PHP (php)

Tanımlamasını yaptığımız fonkisyonel interface’yi lambda expression sayesinde kullanarak çağırabiliyoruzç

InterfaceExample sum = (x, y) -> x + y; int result = sum.apply(3, 4);

Java’da Functional Interfaceler

Java’da bazı hazır functional interfaceler barındırmaktadır.

Consumer

Consumer fonksiyonel interface, bir veri girişi olan ve geri bir değer döndürmeyen sınıftır. Bu sayede bir veri yapısını gezinebilir ve her bir öğeyi bir işlev gerçekleştirerek işleyebilirsiniz.

Consumer Örneği

public class Main { public static void main(String[] args) { List<String> list = List.of("burak", "ahmet", "mehmet"); Consumer<String> printItem = item -> System.out.println(item); list.forEach(printItem); } }
Code language: PHP (php)

Consumer interfacesi oluşturduk ve liste içindeki tüm öğeleri yazdıran bir metot yazdık. Çıktı aşağıdaki gibi olacaktır.

burak ahmet mehmet

Predicate

Predicate bir girdi alır ve bir boolean değeri döndürür.

Predicat Örneği

public class Main { public static void main(String[] args) { Predicate<Integer> pozitifMi = (sayi) -> sayi > 0; int[] sayilar = {-1, 0, 1, 2, 3}; for (int sayi : sayilar) { if (pozitifMi.test(sayi)) { System.out.println(sayi + " pozitiftir"); } } } }
Code language: JavaScript (javascript)

Bir sayının pozitif olup olmadığı kontrol eden bir functional interface yazdık ve bu metot sayesinde liste içerisindeki değerleri kontrol edebiliyiriz.

Function 

Function bu tür bir fonksiyonel interfacedir ve bir girdi alır ve bir çıktı döndürüren işleve sahiptir.

Function Örneği

Mutlak değerini alan bir fonksiyonel interface yapıyalım. Bir çıktı döndüren Functiondan faydalanıyoruz.

public class Main { public static void main(String[] args) { Function<Integer, Integer> abs = (sayi) -> Math.abs(sayi); int[] numbers = {-1, 0, 1, 2, 3}; for (int sayi : sayilar) { System.out.println(sayi + " mutlak değeri " + abs.apply(sayi)); } } }
Code language: PHP (php)

Supplier

Supplier interface bir değer döndürmeyen bir metotdur.

Supplier Örneği

public class Main { public static void main(String[] args) { Random random = new Random(); Supplier<Integer> randomSupplier = () -> random.nextInt(); System.out.println(randomSupplier.get()); } }
Code language: JavaScript (javascript)

Tags:

ConsumerFunctionFunctional Interfacejava 8KullanımÖrneklerPredicateSupplier

Paylaş

Diğer Yazılar

Spring Boot Dersleri
Previous

Spring Boot Projelerinde Tomcat Yerine Jetty Kullanmak

just Spring Boot Command Tool
Next

just: Spring Boot Geliştiricileri İçin Komut Aracı

Next
just Spring Boot Command Tool
17 Aralık 2022

just: Spring Boot Geliştiricileri İçin Komut Aracı

Previews
02 Aralık 2022

Spring Boot Projelerinde Tomcat Yerine Jetty Kullanmak

Spring Boot Dersleri

2 Comments

  1. Asım dedi ki:
    02 Ocak 2023, 17:15

    Suplier için bir değer döndürmeyen yazmışsınız ama değer almayan olacaktı, yazım yanlışı olmuş. Yazı içinde teşekkürler emeğinize sağlık.

    Cevapla
    1. Burak KUTBAY dedi ki:
      04 Ocak 2023, 15:43

      Geri bildiriminiz için teşekkür ederim. 🙂

      Cevapla

Bir cevap yazın Cevabı iptal et

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

İlgini Çekebilir

javb

Java 8 Dersleri – StringJoiner Nedir? Uygulama Örneği

javb

Java 8 – Default Methods Nedir? Kullanım Örneği

javb

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

javb

Java 8 Date , Time API Kullanım Uygulama Örneği

Burak Kutbay'ın Kişisel Blog'u |

© 2008 - ∞, Her hakkı saklıdır.

Link

  • Hakkımda
  • İletişim
  • Arşiv

Kategori

Cloud
Amazon Web Services
Vue.js
Gradle
Node.js
Android
Struts
Redis
Röportaj
Spring Data
Spring Cloud Stream
XCode
Debezium
Mikroservis Mimarisi
Video
Spring Native
iPhone Uygulama Geliştirme
Objective C
JPA
Spring Security
PostgreSQL
Apache Kafka
Git
Servlet
Yaptığım Projeler
Maven
Design Patterns
DevOps
Linux
RabbitMQ
PrimeFaces
JDBC
Spring Jdbc Template
Spring
Spring MVC
Manset
Google
Spring Cloud
OCA Java SE 8
Spring Core
Quarkus
Microsoft
Veritabanı
Tanıyalım
Java SE
Hibernate
Teknoloji
Okuduğum Kitaplar
Java Server Faces
Yazılım Mühendisliği
C Sharp
Spring Boot
Java
Günlüğüm
Java Server Page
Makale

Takip Et

Twitter Youtube Github
  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • Spring Core
  • Spring Örnekleri
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale