Junior — Middle
Bir Stream üzerinde toList() metodunu çağırırsam, sonuç bir ArrayList mi yoksa başka bir koleksiyon türü mü olur?
sobes.tech yapay zeka
AI'dan gelen yanıt
Stream arayüzündeki toList() yöntemi (Java 16'dan itibaren) değiştirilemez bir liste döner, ancak koleksiyonun belirli türü garanti edilmez ve mutlaka ArrayList olmak zorunda değildir. collect(Collectors.toList()) genellikle ArrayList dönerken, Stream.toList() başka bir liste türü dönebilir, bu da belirli uygulama için optimize edilmiştir.
Örnek:
List<String> list = Stream.of("a", "b", "c").toList();
// liste değiştirilemez, değiştirmeye çalışmak UnsupportedOperationException ile sonuçlanır
Bu nedenle, sonucu tam olarak ArrayList olarak güvenmek mümkün değildir. Eğer özellikle ArrayList gerekiyorsa, collect(Collectors.toList()) kullanmak daha iyidir.