java - 如何使用 Java 流在集合中找到最小的 BigDecimal 字段?

标签 java java-8 java-stream

我想使用 java 流 迭代一个列表 并找到BigDecimal 最低价格。以下说明,但不起作用(因为 min() 不能接受 BigDecimal

class Product {
    public BigDecimal price;
}

List<Product> products;
products.stream().min((Product) p -> p.price);

最佳答案

因为 BigDecimal 已经是 Comparable,所以它很简单:

 BigDecimal min = products
        .stream()
        .map(Product::getPrice)
        .min(Comparator.naturalOrder())
        .orElse(BigDecimal.ZERO);

关于java - 如何使用 Java 流在集合中找到最小的 BigDecimal 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47712344/

相关文章:

Java lambda 在文本框中显示

java - 避免使用 Java 流进行多线程处理

java - onFling 和 LinearLayout

java - 将对象引用保存到 Android 中的 Bundle

java - 如何将字符串转换为 Java 8 字符流?

java - Java 8 流是原子的吗?

java - 如何以编程方式在 Java 中执行特征检测?

java - 案例研究 : Singleton class inheritance - Good or bad?

java - 如何找到字符串中的最大值?

java - Java 8 中意外的并行流性能