Lambda va Stream API

Daraja: O'rta

Lambda — qisqa anonim funksiya (`x -> x * 2`). Stream — kolleksiya ustida quvur (pipeline) qurish usuli: filter/map/sorted oraliq amallar, collect/count/forEach terminal amallar. Stream ma'lumotni o'zgartirmaydi, yangisini qaytaradi va terminal amal chaqirilmaguncha hech narsa bajarilmaydi.

Tushuntirish

Lambda — qisqa anonim funksiya (`x -> x * 2`). Stream — kolleksiya ustida quvur (pipeline) qurish usuli: filter/map/sorted oraliq amallar, collect/count/forEach terminal amallar. Stream ma'lumotni o'zgartirmaydi, yangisini qaytaradi va terminal amal chaqirilmaguncha hech narsa bajarilmaydi.

Kod misoli

List<String> ismlar = List.of("Ali", "Vali", "Guli", "Anvar");

List<String> natija = ismlar.stream()
        .filter(s -> s.startsWith("A"))
        .map(String::toUpperCase)
        .sorted()
        .toList();                       // [ALI, ANVAR]

Map<Integer, List<String>> uzunlikBoyicha =
        ismlar.stream().collect(Collectors.groupingBy(String::length));

double ortacha = ismlar.stream().mapToInt(String::length).average().orElse(0);

Keng tarqalgan xatolar

Mashqlar

Teglar: lambda, funksional, stream

Interaktiv ko'rinish (viktorina, izohlar, tarix)