CodeBlanks Logo Icon CodeBlanks

Özet - Stream API temelleri

filter, map ve collect'i birleştirerek bir işçi filtreleyici yazarsın.

Özet - Stream API temelleri

Bu grupta Stream API'nin temel işlemlerini gördün: stream() akışı başlatır, filter eleme yapar, map dönüştürür, forEach ve count terminal işlemleridir, collect(Collectors.toList()) sonucu bir List'e toplar.

Ara işlemler tembel (lazy), terminal işlemler ise hevesli (eager) çalışır. Stream bir kez tüketilir; ikinci kullanım hatadır. Predicate, Function, Consumer functional interface'leri lambda ile verilir.

Uygulama Stream zinciri: filter, map, collect

List<String> names = new ArrayList<>(); tanımla; "Ayşe", "Alex", "Mehmet" ekle. List<Integer> lengths = names.stream().filter(s -> s.length() > 3).map(s -> s.length()).collect(Collectors.toList()); zincirini kur. System.out.println(lengths.size()); ile sonucun boyutunu yazdır.

Başlangıç kodu

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

public class Main {
    public static void main(String[] args) {
        // List<String> tanımla, 3 isim ekle; filter+map+collect zinciri; boyut yazdır

    }
}

Örnek çözüm

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

public class Main {
    public static void main(String[] args) {
        List<String> names = new ArrayList<>();
        names.add("Ayşe");
        names.add("Alex");
        names.add("Mehmet");
        List<Integer> lengths = names.stream().filter(s -> s.length() > 3).map(s -> s.length()).collect(Collectors.toList());
        System.out.println(lengths.size());
    }
}

Beklenen çıktı

3

Soru ve cevaplar

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

1 İşlem türlerini eşleştir

Kavram Anlamı
filter Eleme (ara)
map Dönüşüm (ara)
forEach Yan etki (terminal)
count Sayım (terminal)

2 Hangisi terminal bir işlemdir?

  • collect Doğru cevap
  • map
  • filter
  • sorted

Açıklama: collect terminaldır; akışı bir List'e toplar ve kapatır.

3 Stream parçalarını eşleştir

Kavram Anlamı
stream() Akışı başlatır
Collectors.toList() Liste toplar
Predicate<T> filter parametresi
Function<T, R> map parametresi

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