Junior — Middle
194
Was ist der Unterschied zwischen der Methode toList() und der Methode collect(Collectors.toList()) in der Stream API in Java?
Unternehmen wurden gefragt
Antwort von AI
sobes.tech KI
В 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
Таким образом, основное различие — в мутабельности возвращаемого списка и удобстве использования.