2 回答

TA貢獻1966條經(jīng)驗 獲得超4個贊
你可以這樣做:
List<Integer> result = myList.stream()
.map(list -> list.stream()
.flatMapToInt(map -> map.values()
.stream()
.mapToInt(i -> (int) i))
.sum())
.collect(Collectors.toList());

TA貢獻1804條經(jīng)驗 獲得超7個贊
這是另一種更全球化的替代方法ernest_k解決方案更好更優(yōu)雅,但這可能會幫助您了解更多關于流的信息
BinaryOperator<Object> accumulator = (a, b) -> Double.parseDouble("" + a) + Double.parseDouble("" + b);
List sums = myList.stream().map((e) -> e.stream()
.map((content) -> content.values().stream().reduce(0, accumulator)).reduce(0, accumulator))
.collect(Collectors.toList());
System.out.println("sums \n"+sums);
添加回答
舉報