stream map BigDecimal
时间: 2024-01-31 07:03:37 浏览: 180
stream map BigDecimal是一种使用Java 8中的流(Stream)和map操作来处理BigDecimal类型的数据的方法。通过使用流的map操作,可以将一个集合中的每个元素映射为另一个元素,并将结果存储在一个新的集合中。
下面是一个示例代码,演示了如何使用流的map操作和BigDecimal来计算集合中所有元素的总和:
```java
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Apple> appleList = new ArrayList<>();
Apple apple1 = new Apple(1, "苹果1", new BigDecimal("3.25"), 10);
Apple apple2 = new Apple(2, "苹果2", new BigDecimal("1.35"), 20);
Apple apple3 = new Apple(3, "香蕉", new BigDecimal("2.89"), 30);
Apple apple4 = new Apple(4, "荔枝", new BigDecimal("9.99"), 40);
appleList.add(apple1);
appleList.add(apple2);
appleList.add(apple3);
appleList.add(apple4);
BigDecimal totalMoney = appleList.stream()
.map(Apple::getMoney)
.reduce(BigDecimal.ZERO, BigDecimal::add);
System.out.println("totalMoney: " + totalMoney);
}
}
class Apple {
private int id;
private String name;
private BigDecimal money;
private int quantity;
public Apple(int id, String name, BigDecimal money, int quantity) {
this.id = id;
this.name = name;
this.money = money;
this.quantity = quantity;
}
public BigDecimal getMoney() {
return money;
}
}
```
输出结果为:
```
totalMoney: 17.48
```
阅读全文