CodeBlanks Logo Icon CodeBlanks

Function<T,R>

Function<T,R> ile dönüşüm fonksiyonunu öğrenirsin.

Function<T,R> arayüzü

Function<T, R>, bir T değerini alıp bir R değeri döndüren işlevi temsil eder. Tek soyut yöntemi apply'dır. Bu arayüz, dönüşüm yapan kodları kısa yazmanın standart yoludur.

Örnek: Function<String, Integer> len = String::length;. Sonra len.apply("Ayşe") çağrısı 4 döndürür. İşlevi lambda ile de yazabilirsin: s -> s.length(). Function, akışlarda map'e argüman olarak da sıkça kullanılır.

compose ve andThen

İki işlevi peş peşe uygulamak için compose ve andThen kullanılır. İkisi de yeni bir Function döndürür; fark uygulama sırasındadır.

Örnek: f.andThen(g) önce f'i, sonra g'yi uygular. f.compose(g) ise önce g'yi, sonra f'i uygular. Bu, matematikteki bileşke işlemine benzer; veriyi bir hattan geçirip ikinciye göndermenin temiz yoludur.

Uygulama Function ile dizgi uzunluğunu bul

Bir Function<String, Integer> tanımla; String::length yöntem referansını kullansın. Sonra apply("Merhaba") çağrısının sonucunu System.out.println ile yazdır.

Başlangıç kodu

Main.java
import java.util.function.Function;

// Function ile uzunluk işlevi tanımla (String::length)
// apply çağrısıyla "Merhaba" uzunluğunu al
// Sonucu yazdır

Örnek çözüm

Main.java
import java.util.function.Function;

public class FunctionExample {
    public static void main(String[] args) {
        Function<String, Integer> len = String::length;
        System.out.println(len.apply("Merhaba"));
    }
}

Beklenen çıktı

7

Soru ve cevaplar

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

1 Function<T,R> arayüzünün tek soyut yönteminin adı nedir?

  • apply Doğru cevap
  • get
  • test
  • accept

Açıklama: apply, Function'ın çağrı yöntemidir.

2 Function çağrısını tamamla

Soru
Function<String, Integer> len = String::length;
int n = len.____("Ayşe");
Cevap
Function<String, Integer> len = String::length;
int n = len.apply("Ayşe");

Açıklama: apply, Function'ın çağrı yöntemidir.

3 Function kavramlarını eşleştir

Kavram Anlamı
Function<T,R> T alır R döndürür
apply Çağrı yöntemi
andThen Sonra çağır
compose Önce çağır

İleri seviye bölümündeki tüm dersler