我有一个由 Google places API 返回的位置列表,我决定找到一个价格最低的地方。
这是我用 Java 8 实现它的方式:
BigDecimal lowestPrice = places.stream()
.collect(Collectors.groupingBy(Place::getPrice, Collectors.counting()))
.entrySet().stream().min(Map.Entry.comparingByValue())
.map(Map.Entry::getKey)
.orElse(BigDecimal.ZERO);
它会返回最低价格,但如果能得到地点的名称也很棒(它有一个 name
属性)。
如何返回价格最低的地点的 name
?
最佳答案
为什么不返回整个 Place
对象?
places.stream().min(Comparator.comparing(Place::getPrice)).get()
关于Java 8 - 如何从列表中获取对象的多个属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53696914/