Sobes.tech
Junior — Middle
181

Java'da Stream API'de toList() yöntemi ile collect(Collectors.toList()) yöntemi arasındaki fark nedir?

Sorulan şirketler
Северсталь-ИфокомСеверсталь-Ифоком

AI'dan gelen yanıt

sobes.tech yapay zeka

В Java Stream API метод collect(Collectors.toList()) — это стандартный способ собрать элементы потока в список (List). Он возвращает новый список, содержащий все элементы потока.

Метод toList() появился в Java 16 как более короткий и удобный способ собрать элементы в список. Он тоже возвращает список, но с некоторыми отличиями:

  • Collectors.toList() не гарантирует конкретную реализацию списка и может возвращать, например, ArrayList.
  • Stream.toList() возвращает неизменяемый список (immutable), который нельзя модифицировать (например, добавить или удалить элементы).

Пример:

List<String> list1 = stream.collect(Collectors.toList()); // mutable list
List<String> list2 = stream.toList(); // immutable list

list1.add("new"); // работает
nlist2.add("new"); // выбросит UnsupportedOperationException

Таким образом, основное различие — в мутабельности возвращаемого списка и удобстве использования.