4 回答
TA贡献1831条经验 获得超9个赞
使用DoubleStream
:
变种:
输入是一个数组
double
double[] values = new double[] {1.1D, 2.33D, 4D}; double average = DoubleStream.of(values).average().getAsDouble();
输入是
ArrayList
一个Integer
ArrayList<Integer> values = new ArrayList<>(); values.add(1); values.add(42); values.add(-1);
double average = values.stream().mapToDouble(value -> (double) value).average().getAsDouble();
TA贡献1799条经验 获得超6个赞
您可以使用以下代码片段:(用 kotlin 编写)
fun main() {
val s: List<Float> = listOf(1.2F, 1.4F, 5.6F)
// populate it with your custom list data
var sum = 0F
s.forEach { it ->
sum+=it
}
println("Sum = $sum and avg = ${sum/(s.size)}")
}
这是java解决方案:
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
List<Float> s = new ArrayList(Arrays.asList(1.2F, 1.3F, 5.4F, 6.5F));
Float sum = 0F;
for (int i=0; i< s.size(); i++) {
sum+=s.get(i);
}
System.out.println("Sum: "+sum+" and Avg: "+sum/(s.size()));
}
}
TA贡献1817条经验 获得超6个赞
以下是如何对 ArrayList 中的所有值求和
ArrayList<Integer> nums = new ArrayList<>();
// Populate ArrayList
int sum = 0;
for (int num : nums) {
sum += num;
}
// Do whatever you want with sum after
TA贡献1780条经验 获得超5个赞
只需在流中使用平均收集器,您不必计算元素的SUM和NUMBER:
ArrayList<Double> numbers = new ArrayList<>() {{
add(1d);
add(2.45d);
add(100d);
}};
final double average = numbers.stream()
.collect(Collectors.averagingDouble(d -> d));
moy[0] = average;
添加回答
举报