【发布时间】:2020-10-07 14:10:50
【问题描述】:
如何在java中使用函数式编程获得平均值?
这是我尝试过的......
它似乎在IntStream.of 不起作用
我想从数组的特定行中获取平均值
public static void average(List<List<String>> rows){
IntStream stream = IntStream.of(e -> Integer.parseInt(e.get(2)));
OptionalDouble obj = stream.average();
if (obj.isPresent()) {
System.out.println(obj.getAsDouble());
}
else {
System.out.println("-1");
}
}
rows 是数组,是从 excel 文件中读取的行。
【问题讨论】:
-
什么是
List<List<String>>?你有一个包含字符串列表的列表吗? -
不清楚你想要的平均值... 每个列表的第 9 个元素?如果是这样,您需要先映射每个列表
-
只是说:要非常小心地使用并行()。这个简单的调用带来了大量的开销。您需要处理数千个对象才能支付(就延迟而言)。对于较小的数据集,您会浪费 CPU 周期,并且在使用并行流时最终会变慢。