List<String>转换List<Double>并取出最大值
时间: 2023-06-03 09:07:58 浏览: 457
可以使用Java 8的Stream API来完成这个任务,使用map方法将List<String>中的每个元素转换成List<Double>,然后再使用max方法取出最大值。具体代码如下:
```
List<String> strList = Arrays.asList("1.2", "3.4", "5.6", "7.8");
List<Double> doubleList = strList.stream().map(Double::parseDouble).collect(Collectors.toList());
double max = doubleList.stream().max(Double::compare).orElse(0.0);
System.out.println(max);
```
输出结果为7.8。
相关问题
java取list<String>数字最小值
在Java中,要从一个包含数字字符串的List中取出最小值,首先需要将字符串转换为数字类型(例如`int`或`double`),然后进行比较。以下是使用`int`类型进行转换和比较的示例代码:
```java
import java.util.List;
import java.util.Collections;
import java.util.ArrayList;
public class MinValueInList {
public static void main(String[] args) {
// 创建一个字符串列表并填充数据
List<String> numberList = new ArrayList<>();
numberList.add("12");
numberList.add("5");
numberList.add("89");
numberList.add("23");
// 调用方法找出最小值
int minValue = findMinValueInList(numberList);
System.out.println("列表中的最小值是: " + minValue);
}
public static int findMinValueInList(List<String> list) {
int min = Integer.MAX_VALUE; // 初始化为整数最大值
// 遍历列表,转换每个字符串为整数,并找到最小值
for (String numberStr : list) {
try {
int number = Integer.parseInt(numberStr); // 将字符串转换为整数
if (number < min) {
min = number; // 更新最小值
}
} catch (NumberFormatException e) {
// 如果转换失败,可以处理异常或者跳过,这里选择跳过非数字字符串
System.out.println("列表包含非数字字符串,跳过: " + numberStr);
continue;
}
}
return min; // 返回最小值
}
}
```
需要注意的是,如果列表中包含无法转换为数字的字符串,上述代码中的`Integer.parseInt`方法会抛出`NumberFormatException`异常。为了处理这种情况,代码使用了try-catch语句块来捕获并处理异常。此外,还可以通过预处理列表来确保所有的字符串都是有效的数字字符串,从而避免异常的发生。
List<BigDecimal> priceList = new ArrayList<>(); 使用stream 获取平均值 保留2位小数,最大值,最小值
答:您好,可使用以下代码:
平均值保留2位小数:
BigDecimal average = priceList.stream().mapToDouble(BigDecimal::doubleValue).average().orElse(0);
String formattedAverage = String.format("%.2f", average);
最大值:
BigDecimal max = priceList.stream().max(BigDecimal::compareTo).orElse(BigDecimal.ZERO);
最小值:
BigDecimal min = priceList.stream().min(BigDecimal::compareTo).orElse(BigDecimal.ZERO);
以上代码可以获取到List<BigDecimal> priceList中元素的平均值、最大值、最小值,并且平均值保留2位小数。
阅读全文