java stream BigDecimal排序
时间: 2024-07-18 10:01:45 浏览: 473
java8 stream 操作map根据key或者value排序的实现
在Java中,如果你想要对`BigDecimal`类型的集合进行排序,可以利用Stream API提供的sorted()方法。但是,因为`BigDecimal`不是Comparable直接支持的数据类型,所以你需要提供一个Comparator来定义比较规则。例如,如果你想按照数值大小排序,你可以这样做:
```java
import java.math.BigDecimal;
import java.util.Comparator;
import java.util.stream.Collectors;
List<BigDecimal> numbers = ... // 你的BigDecimal列表
// 自定义比较器,按照数值升序排序
Comparator<BigDecimal> decimalComparator = Comparator.comparing(BigDecimal::doubleValue);
numbers.sort(decimalComparator);
```
如果你想保持原始列表不变,并返回一个新的已排序列表,可以使用collect()方法:
```java
List<BigDecimal> sortedNumbers = numbers.stream()
.sorted(decimalComparator)
.collect(Collectors.toList());
```
阅读全文