2015-11-25 6 views
-1

Я хочу использовать java 8 для записи цепочки обработки потока, и на определенном этапе я хочу передать List<List<Integer>> и получить List<Integer> из сумм каждого List ,преобразование списка списков int в список int в java 8

например. [[1,2],[1,3,4],[10,11]] ---> [3, 8, 21]

Какую функцию мне нужно использовать/писать для этого?

ответ

1

Следует нанести на карту все значения оригинала List, который составляет List<Integer>, на Integer, представляющий его сумму. Это можно сделать, например, используя list.stream().mapToInt(x -> x).sum(). Таким образом, вся проблема может быть решена следующим образом:

List<Integer> result = input.stream() 
          .map(list -> list.stream().mapToInt(x -> x).sum()) 
          .collect(Collectors.toList()); 
Смежные вопросы