Код: Выделить всё
List result = List.of(1, 2)
.parallelStream()
.collect(
ArrayList::new,
(x, y) -> x.add(y),
(x, y) -> y.addAll(x)
);
System.out.println(result);
collect() имеет три параметра; первые два параметра я понимаю. Что касается третьего параметра, я знаю, что x, y — это подпотоки и ArrayLists, но я не понимаю, почему результаты в каждом случае разные. Я ожидал, что они будут одинаковыми.
- (x, y) -> y.addAll(x) // вывод: [1]< /p>
- (x, y) -> x.addAll(y) // вывод: [1, 2]
Подробнее здесь: https://stackoverflow.com/questions/788 ... ect-method
Мобильная версия