-
获取集合中最大的值(1)
List<House> houses = this.listByAddrId(Sets.newHashSet(address.getId()));
if (CollectionUtils.isNotEmpty(houses)) {
sequenceNumber = houses.stream().mapToInt(v -> {
String houseNo = v.getHouseNo();
if (StringUtils.isNotBlank(houseNo)) {
int length = houseNo.length();
if (length > 3) {
return Integer.valueOf(houseNo.substring(length - 3, length));
}
}
return 0;
}).max().getAsInt() + 1;
}
- 获取实体类集合中最小的值(2)
HousePriceVo priceRule = housePriceConfigService.getPriceRule(houseId);
if (CollectionUtils.isNotEmpty(priceRule.getConfigs())) {
//获取月付价格最优惠的价格
HousePriceConfigVo housePriceConfigVo = priceRule.getConfigs().stream()
.filter(v -> v.getRent() != null)
.min(Comparator.comparing(HousePriceConfigVo::getRent)).orElse(null);
- 字符拼接
-
commodityList.stream() .map(v -> v.getClassifyId()) .collect(Collectors.joining(",")); -
double 最大最小平均值
-
double max = doubleList.stream().mapToDouble(Double::valueOf).max().getAsDouble();
double min = doubleList.stream().mapToDouble(Double::valueOf).min().getAsDouble();
double average = doubleList.stream().mapToDouble(Double::valueOf).average().getAsDouble();
本文介绍了如何在Java中从集合中获取最大值和最小值。通过使用Stream API和Lambda表达式,我们可以高效地处理数据。例如,从House对象列表中获取最长HouseNo的后三位并加1作为新的序列号,以及找出HousePriceConfigVo中的最低月付价格。此外,还展示了如何对字符串列表进行拼接以及计算double列表的最大值、最小值和平均值。
1269

被折叠的 条评论
为什么被折叠?



