java stream 求均值
时间: 2023-07-20 20:35:14 浏览: 82
可以使用 Java 8 中的 Stream 来求均值,示例代码如下:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
double avg = list.stream().mapToInt(Integer::intValue).average().orElse(0.0);
System.out.println("平均值为:" + avg);
```
首先将 List 转换成 IntStream,然后调用 average 方法求均值。注意如果 List 为空,需要使用 orElse 方法设置默认值。
相关问题
java stream<Float> 求均值
可以使用 Java 8 中的 Stream 来求均值,示例代码如下:
```java
List<Float> list = Arrays.asList(1.0f, 2.0f, 3.0f, 4.0f, 5.0f);
double avg = list.stream().mapToDouble(Float::doubleValue).average().orElse(0.0);
System.out.println("平均值为:" + avg);
```
首先将 List 转换成 DoubleStream,然后调用 average 方法求均值。注意如果 List 为空,需要使用 orElse 方法设置默认值。
java均值标准差归一化
在Java中进行均值标准差归一化的方法有很多种,以下是其中一种方法的示例代码:
```java
import java.util.Arrays;
public class Normalization {
public static void main(String[] args) {
double[] data = {1.2, 2.3, 3.4, 4.5, 5.6};
// 计算均值
double sum = Arrays.stream(data).sum();
double mean = sum / data.length;
// 计算标准差
double sumOfSquares = Arrays.stream(data).map(x -> Math.pow(x - mean, 2)).sum();
double standardDeviation = Math.sqrt(sumOfSquares / data.length);
// 归一化
double[] normalizedData = new double[data.length];
for (int i = 0; i < data.length; i++) {
normalizedData[i] = (data[i] - mean) / standardDeviation;
}
// 输出归一化后的数据
System.out.println("Normalized data: " + Arrays.toString(normalizedData));
}
}
```
这段代码首先计算了给定数据的均值和标准差,然后使用归一化公式将每个数据进行归一化处理。最后输出归一化后的数据。
阅读全文