Middle
Java-da Collection və Stream arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Collection — elementləri saxlamaq üçün məlumatlar strukturu olub, obyektlər qrupunu, məsələn, siyahılar, toplamlardır. Bu, elementlərin idarə olunmasına yönəlmiş məlumat anbarıdır.
Stream — mənbədən (məsələn, kolleksiyadan) gələn elementlərin ardıcıllığıdır və bu elementlərin emalı və təhlili üçün funksional üslubda əməliyyatları dəstəkləyir. Məlumat saxlamır, sadəcə əməliyyatlar üçün axını təmsil edir.
Əsas fərqlər:
- Məqsəd:
Collection- məlumatların saxlanması,Stream- məlumatların emalı. - Vəziyyət dəyişməsi:
Collectionüzərində əməliyyatlar adətən onun vəziyyətini dəyişir.Streaməməliyyatları dəyişmir orijinal məlumat mənbəyini. - Təkrar istifadə:
Collectionçox dəfə istifadə oluna bilər.Streamadətən bir dəfə istifadə olunur və terminal əməliyyat həyata keçirildikdən sonra bitir. - Lazımi qiymətləndirmə:
Streamüzərində əməliyyatlar "lazımi" şəkildə (yalnız terminal əməliyyat çağırıldıqda) yerinə yetirilir, bu böyük məlumat dəstləri üçün səmərəli ola bilər.Collectionəməliyyatları dərhal yerinə yetirilir. - Paralellik:
StreamparallelStream()metodu ilə səmərəli paralel işləmə dəstəkləyir.
Nümunə:
// Collection: təkrarlana bilən məlumatların saxlanması
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
// Stream: kolleksiyadan məlumatların emalı
long count = names.stream() // kolleksiyadan axın yaradılması
.filter(name -> name.startsWith("A")) // aralıq əməliyyat
.count(); // terminal əməliyyat