Javada Lambda İfadeleri ve Functional Interface

Java’da lambda ifadeleri nedir, ne işe yarar? Functional interface ile birlikte lambda kullanımı sayesinde daha sade ve fonksiyonel kod yazımı nasıl yapılır?

Ali YILMAZ
Ali YILMAZ

Yönetici

58

Java’da Lambda İfadeleri ve Functional Interface Kullanımı

Java’da lambda ifadeleri, fonksiyonel programlama yaklaşımını destekleyen, sade ve kısa kod blokları oluşturmak için kullanılan yapılardır. Özellikle Java 8 ile birlikte gelen bu yapı sayesinde anonymous class kullanımı büyük oranda azalmıştır.

1. Lambda İfadesi Nedir?

Lambda ifadesi, parametre listesi, ok işareti (->) ve gövde olmak üzere üç bölümden oluşur.

(parametreler) -> { işlem bloğu }

Örnek:

(x, y) -> x + y

2. Functional Interface Nedir?

Functional interface, sadece bir tane soyut metoda sahip olan arayüzdür. Lambda ifadeleri sadece functional interface’ler ile birlikte kullanılabilir.

@FunctionalInterface
interface Selamla {
    void mesajVer(String isim);
}

3. Lambda ile Functional Interface Kullanımı

public class Main {
    public static void main(String[] args) {
        Selamla s = (isim) -> {
            System.out.println("Merhaba " + isim);
        };

        s.mesajVer("Ali");
    }
}

4. Lambda İfadelerinin Faydaları

  • Daha kısa ve okunabilir kod
  • Anonymous inner class kullanımını azaltır
  • Fonksiyonel programlama desteği sağlar
  • Thread, Collection gibi yapılarla daha etkin çalışma sağlar

5. Lambda ile Liste Filtreleme Örneği

import java.util.Arrays;
import java.util.List;

public class Ornek {
    public static void main(String[] args) {
        List isimler = Arrays.asList("Ali", "Ayşe", "Ahmet", "Zeynep");

        isimler.stream()
               .filter(isim -> isim.startsWith("A"))
               .forEach(System.out::println);
    }
}

Yukarıdaki örnekte, stream() ve lambda birlikte kullanılarak sadece "A" harfi ile başlayan isimler filtrelenmiştir.

6. Runnable Arayüzü ile Lambda Kullanımı

public class LambdaRunnable {
    public static void main(String[] args) {
        Runnable r = () -> System.out.println("Thread çalıştı.");
        new Thread(r).start();
    }
}

Java lambda ifadeleri, kodun daha kısa ve anlaşılır olmasını sağlar. Özellikle functional interface yapıları ile birlikte kullanıldığında, modern Java geliştiriciliğinin temel yapı taşlarından birine dönüşür. Java 8 ve sonrası sürümlerde daha fonksiyonel ve esnek uygulamalar geliştirmek için lambda ifadeleri etkili bir araçtır.




Paylaş

Etiketler


Yorum Yok

    Bu Yazıya Hiç Yorum Yapılmamış. İlk Yorum Yapan Sen Ol !

Yorum Yap


Instagram