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

我有一个对象列表。我需要从对象列表中找到最小数量。但如果有平局,则需要找到年龄最小的那个。如何使用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();


以上是如果有平局,则使用Java在对象列表中查找最小数量的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>