CodeBlanks Logo Icon CodeBlanks

Özet - Lambda expressions

Lambda ve method reference'ı birleştirerek bir sıralama yardımcı yazarsın.

Özet - Lambda expressions

Bu grupta lambda expression ve method reference öğrendin. Lambda sözdizimi: (parametreler) -> gövde. Tek parametrede parantez isteğe bağlı; blok gövdede return şart. Lambda yalnızca functional interface'lere (tek soyut metot) atanır.

Method reference Class::method ile tek metot çağrısı içeren lambdanın kısa yoludur. forEach bir Consumer bekler; for-each döngüsünün işlevsel karşılığıdır. Comparator lambda ile sıralama modern ve okunaklıdır.

Uygulama Lambda alıştırması: forEach ve sort

List<String> names = new ArrayList<>(); tanımla; "Ayşe", "Alex", "Mehmet" ekle. names.sort((a, b) -> a.compareTo(b)); ile alfabe sırala. names.forEach(s -> System.out.println(s)); ile lambda kullanarak yazdır.

Başlangıç kodu

Main.java
import java.util.List;
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // List<String> tanimla, 3 isim ekle, sort ile alfabe sirala, forEach lambda ile yazdir

    }
}

Örnek çözüm

Main.java
import java.util.List;
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        List<String> names = new ArrayList<>();
        names.add("Ayşe");
        names.add("Alex");
        names.add("Mehmet");
        names.sort((a, b) -> a.compareTo(b));
        names.forEach(s -> System.out.println(s));
    }
}

Beklenen çıktı

Alex
Ayşe
Mehmet

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Lambda kavramlarını eşleştir

Kavram Anlamı
() -> ... Parametresiz lambda
s -> ... Tek parametreli
Class::method Method reference
(a, b) -> a - b Comparator lambda

2 Hangisi bir method reference'tır?

  • (a, b) -> a + b
  • s -> s.length()
  • Math::abs Doğru cevap
  • () -> new Object()

Açıklama: Math::abs statik metot reference'ıdır; :: işareti ile yazılır.

3 Lambda vs method reference eşleştir

Kavram Anlamı
-> Lambda ok
:: Method reference
Runnable Parametresiz hedef
Comparator Sıralama hedefi

Orta seviye bölümündeki tüm dersler