Sobes.tech
Middle

Streamlarda qanday operatsiyalar mavjud va qanday turdagi operatsiyalar mavjud?

sobes.tech AI

AIdan javob

Java 8+ da, ma'lumotlar to'plamlarini qayta ishlash uchun operatsiyalar to'plamini taqdim etadi.

Operatsiyalar turlari:

  1. Oraliq (Intermediate): Yangi oqimni qaytaradi. Ular kechiktirilgan tarzda bajarilishi mumkin. Operatsiyalarni zanjirlash imkonini beradi. Ularga quyidagilar kiradi:

    • filter()
    • map()
    • flatMap()
    • distinct()
    • sorted()
    • peek()
    • limit()
    • skip()
  2. Terminal: Oqimning ishini yakunlaydi, ishlov berishni amalga oshiradi va natijani yoki yon ta'sirni qaytaradi. Terminal operatsiya bajarilgandan so'ng, oqimni qayta ishlatib bo'lmaydi. Ularga quyidagilar kiradi:

    • forEach()
    • forEachOrdered()
    • toArray()
    • reduce()
    • collect()
    • count()
    • sum()
    • average()
    • min()
    • max()
    • anyMatch()
    • allMatch()
    • noneMatch()
    • findFirst()
    • findAny()

Operatsiyalar zanjiri misoli:

// Oraliq operatsiyalar (filter, map)
// Terminal operatsiya (collect)
List<String> filteredList = originalList.stream()
    .filter(s -> s.startsWith("A")) // "A" bilan boshlanuvchi elementlarni filtrlash
    .map(String::toUpperCase) // Katta harflarga o'tkazish
    .collect(Collectors.toList()); // Natijalarni ro'yxatga yig'ish