:
List<Integer> list = new ArrayList<>();
List<Integer> result = Stream.of(1, 2, 3, 4, 5, 6)
.parallel()
.map(x -> {
list.add(x);
return x;
})
.collect(Collectors.toList());
System.out.println(list);
, , , ArrayList.
:
List<Integer> list = Collections.synchronizedList(new ArrayList<>());
, list . . , , ( ArrayList), .
, list , -, . result : [1, 2, 3, 4, 5, 6] .
stateful; , synchronized List, :
Stream.of(1, 2, 3, 4, 5, 6)
.filter(x -> x > 2) // for example a filter is present
.collect(Collectors.collectingAndThen(Collectors.toList(),
Collections::synchronizedList));