Sobes.tech
Junior — Middle

Əgər mən Stream üzərində toList() metodunu çağırsam, nəticə ArrayList olacaq yoxsa başqa bir kolleksiya növü?

sobes.tech Süni İntellekt

AI-dan cavab

Stream interfeysindəki toList() metodu (Java 16-dan başlayaraq) dəyişməz bir siyahı qaytarır, lakin kolleksiya növü təmin edilmir və mütləq ArrayList olmaya bilər. collect(Collectors.toList()) adətən ArrayList qaytararkən, Stream.toList() başqa bir növ siyahı qaytara bilər, bu da konkret tətbiq üçün optimallaşdırılıb.

Misal:

List<String> list = Stream.of("a", "b", "c").toList();
// siyahı dəyişməzdir, onu dəyişməyə cəhd UnsupportedOperationException ilə nəticələnər

Bu səbəbdən, nəticənin dəqiq ArrayList olacağına inanmaq mümkün deyil. Əgər xüsusi olaraq ArrayList lazımdırsa, collect(Collectors.toList()) istifadə etmək daha yaxşıdır.