Özet - Stream API temelleri
- Java kursu
- Orta seviye
- Ders 111/116
- 5 dk
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
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
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 |