CodeBlanks Logo Icon CodeBlanks

Consumer<T>

Consumer<T> ile tüketici fonksiyonunu öğrenirsin.

Consumer<T> arayüzü

Consumer<T>, bir T değeri alıp hiçbir şey döndürmeyen (void) bir eylem temsil eder. Tek soyut yöntemi accept'tir. Yan etkisi olan işlemler için uygundur.

Örnek: Consumer<String> printer = s -> System.out.println(s);. Sonra printer.accept("Merhaba") çağrısı ekrana Merhaba yazar. Consumer, değer tüketen kodları değişken gibi taşımak için kullanılır; örneğin forEach'e argüman olarak.

Consumer'ları andThen ile zincirleme

İki Consumer'ı peş peşe çalıştırmak için andThen kullanılır. İlk Consumer değeri tüketir; sonra ikincisi aynı değeri alır. Bu, birden çok eylemi tek akışta yapmak için kullanışlıdır.

Örnek: printer.andThen(logger).accept("veri"). Önce ekrana yazdırılır, sonra kayıt tutulur. Her iki Consumer da aynı değeri alır; sıralı çalışırlar. Bu, yan etkileri düzenli bir biçimde birleştirmenin temiz yoludur.

Uygulama Consumer ile yazdır

Bir Consumer<String> tanımla; s -> System.out.println("Yazılan: " + s) lambdasını kullansın. Sonra accept("Merhaba") çağrısıyla değeri yazdır.

Başlangıç kodu

Main.java
import java.util.function.Consumer;

// Consumer ile yazdırma işlevi tanımla
// accept çağrısıyla değeri yazdır
// Çıktı: Yazılan: Merhaba

Örnek çözüm

Main.java
import java.util.function.Consumer;

public class ConsumerExample {
    public static void main(String[] args) {
        Consumer<String> printer = s -> System.out.println("Yazılan: " + s);
        printer.accept("Merhaba");
    }
}

Beklenen çıktı

Yazılan: Merhaba

Soru ve cevaplar

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

1 Consumer<T> arayüzünün çağrı yöntemi hangisidir?

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

Açıklama: accept, Consumer'ın çağrı yöntemidir.

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

Soru
Consumer<String> printer = s -> System.out.println(s);
printer.____("Merhaba");
Cevap
Consumer<String> printer = s -> System.out.println(s);
printer.accept("Merhaba");

Açıklama: accept, Consumer'ın çağrı yöntemidir.

3 Consumer kavramlarını eşleştir

Kavram Anlamı
Consumer<T> T alır void döndürür
accept Çağrı yöntemi
andThen Sonra çağır
BiConsumer<T,U> İki değer alır

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