java - 如何使用映射计算列表中整数列表的总和并获取一个新列表,其中每个条目对应于每个计算出的总和?

标签 java

我有一个List<List<Integer>>并需要计算列表中每个列表的总和并将其存储在一个新列表中,以便该新列表有多个条目,其中每个条目对应于先前计算的总和。

这是我到目前为止所得到的,不幸的是,它无法编译,而且我担心我对 Java 8 运算符还不够了解,无法自己解决这个问题。

List<Integer> sums = lists.map(return new Function<List<Integer>, 
Integer>(){
    @Override
    public Integer call(List<Integer> list){
        int sum = list.stream().reduce(0, (x,y) -> x+y);
        return new Integer(sum);
    }
});

最佳答案

您的意思是:

List<Integer> sums = lists.stream()
        .map(l -> l.stream().reduce(0, Integer::sum))
        .collect(Collectors.toList());

关于java - 如何使用映射计算列表中整数列表的总和并获取一个新列表,其中每个条目对应于每个计算出的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56097160/

相关文章:

java - System.nanoTime() 的问题

java - BigDecimal 向下取整出错

java - 在 Play Framework 中调用 renderBinary() 后关闭 InputStream

Java 8 : Fetching selective request parameters

java - 如何立即从 Mono.zip 返回服务器发送的事件?

java - 在 Web 浏览器中输入表单数据的程序

java - 从java中的套接字断开连接

javascript - 使用 selenium webdriver 在 IE11 中右键/上下文单击无法正常工作

java - Hibernate DiscriminatorColumn.Type 不工作

Java 长奇怪的结果