java 8 如何优雅的获取集合中元素里某个属性最大(小)的一条元素
//过滤掉需要判断最大值属性的值为空的数据
//过滤掉需要判断最大值属性的值为空的数据
upgradeDevDtoList = upgradeDevDtoList.stream().filter(e -> e.getEndUpgradeTime() != null).collect(Collectors.toList());
//Optional类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。
Optional<UpgradeDevDto> maxOptionl = upgradeDevDtoList.stream().max(Comparator.comparing(UpgradeDevDto::getEndUpgradeTime));
//最小的元素
//Optional<UpgradeDevDto> maxOptionl = upgradeDevDtoList.stream().min(Comparator.comparing(UpgradeDevDto::getEndUpgradeTime));
if (maxOptionl.isPresent()) {
UpgradeDevDto upgradeDevDto = maxOptionl.get();
}
具体有关Optional的介绍,参考有关Optional的介绍