如果有平局,使用 Java 在对象列表中查找最小数量

Find min amount in a list of objects using Java if there is a tie

我有一个对象列表。我需要从对象列表中找到最小数量。但如果有平局,则需要找到年龄最小的那个。如何使用 java 8?

完成
class TestObject{
    private Double amount;
    private int age;
}

List<TestObject> objectList = getAllItems();
TestObject obj = objectList.stream()
            .min(Comparator
            .comparing(TestObject::getAmount))
            .get();

要在比较器中组合两个字段,您可以使用 Goion 链接的答案或使用 thenComparing 函数,如下所示:

TestObject obj = objectList
      .stream() 
      .min(Comparator.comparing(TestObject::getAmount)
                     .thenComparing(TestObject::getAge))
      .get();