Junior
Java-da axınlar nə üçün istifadə olunur?
sobes.tech Süni İntellekt
AI-dan cavab
Məlumatların kolleksiyalarının deklarativ emalı üçün. Onlar kolleksiyaların elementləri üzərində ardıcıl və ya paralel əməliyyatların həyata keçirilməsinə imkan verir, məsələn, filtrasiya, xəritələşdirmə (transformasiya), toplama və nəticələrin toplanması, kodu daha oxunaqlı və çevik edir.
Əsas üstünlüklər:
- Deklarativ: "Necə" əməliyyatını (döngülər, iteratorlar) təsvir etmək yerinə, "nə" etmək lazım olduğunu təsvir edirik.
- Paralelizm: Ardıcıllıq və paralel emal arasında asan keçid etmək mümkündür, bu çox nüvəli sistemlər üçün faydalıdır.
- Laziness: Aralıq əməliyyatlar yalnız lazım olduqda və terminal əməliyyat mövcud olduqda yerinə yetirilir.
- Qısa: Ənənəvi döngülərlə müqayisədə kodun həcmini azaldır.
Ardıcıllıqla emal nümunəsi:
// 18 yaşdan yuxarı istifadəçilərin adlarını əldə etmək və onları böyük hərflərə çevirmək
List<User> users = ... // Sizin istifadəçi kolleksiyanız
List<String> adultUserNames = users.stream()
.filter(user -> user.getAge() >= 18) // Yaşa görə filtrləmə
.map(user -> user.getName().toUpperCase()) // Adı böyük hərflərə çevirmək
.collect(Collectors.toList()); // Nəticələri listə toplamaq
Paralel emal nümunəsi:
// Böyük ədədlərin paralel cəmi
List<Long> numbers = ... // Sizin ədədlər kolleksiyanız
long sum = numbers.parallelStream()
.reduce(0L, Long::sum); // Paralel cəm
Beləliklə, Java-dakı axınlar məlumatların funksional və səmərəli emalı üçün istifadə olunur.