string类型集合转bigdecimal再累加
时间: 2023-12-29 17:23:45 浏览: 68
可以使用Java 8的Stream API来实现这个功能。首先,将字符串类型的集合转换为BigDecimal类型的集合,然后使用reduce方法将它们累加起来。
```java
import java.math.BigDecimal;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> stringList = List.of("1.23", "4.56", "7.89");
BigDecimal sum = stringList.stream()
.map(BigDecimal::new)
.reduce(BigDecimal.ZERO, BigDecimal::add);
System.out.println(sum);
}
}
```
在这个例子中,我们首先创建了一个包含三个字符串的列表。然后,我们使用Stream API的map方法将每个字符串转换为BigDecimal类型。最后,我们使用reduce方法将它们累加起来,并将结果打印出来。
相关问题
list集合bigdecimal累加
要将一个 BigDecimal 类型的集合进行累加,你可以使用 BigDecimal 的 add 方法。下面是一个示例代码:
```java
import java.math.BigDecimal;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<BigDecimal> numbers = List.of(
new BigDecimal("1.23"),
new BigDecimal("2.34"),
new BigDecimal("3.45")
);
BigDecimal sum = BigDecimal.ZERO;
for (BigDecimal number : numbers) {
sum = sum.add(number);
}
System.out.println("Sum: " + sum);
}
}
```
在上述代码中,我们创建了一个 BigDecimal 类型的集合 `numbers`,然后使用一个循环遍历集合中的每个元素,并使用 add 方法将其累加到 sum 变量中。最后,打印出累加的结果。
请注意,由于 BigDecimal 是不可变类型,每次调用 add 方法时都会返回一个新的 BigDecimal 对象。因此,在累加过程中,我们需要将新的结果重新赋值给 sum 变量。
stream流对list集合 求和 BigDecimal
对于一个 List 集合中的元素求和,可以使用 Stream 流来实现。而对于 BigDecimal 类型的元素求和,可以使用 reduce 方法来实现。以下是一个示例代码:
```java
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 创建一个包含 BigDecimal 类型元素的 List
List<BigDecimal> numbers = Arrays.asList(
new BigDecimal("1.5"),
new BigDecimal("2.0"),
new BigDecimal("3.7")
);
// 使用 Stream 流和 reduce 方法求和
BigDecimal sum = numbers.stream()
.reduce(BigDecimal.ZERO, BigDecimal::add);
System.out.println("Sum: " + sum);
}
}
```
在上述代码中,我们首先创建了一个包含 BigDecimal 类型元素的 List。然后,使用 Stream 流的 reduce 方法来将这些元素累加起来,初始值设置为 BigDecimal.ZERO,累加操作使用 BigDecimal 的 add 方法。最后,打印出求和结果。
输出结果为:
```
Sum: 7.2
```
希望以上内容能对你有所帮助。如果你有更多问题,请继续提问。
阅读全文