stream流操作数组求元素某个属性的值的和,以及排除null值

求sku里面价格的最小值,最大值把min换成max

Comparator<CommonBoxItemDetails.SKUDTO> comparatorPrice = Comparator.comparing(CommonBoxItemDetails.SKUDTO::getPrice);
	Optional<CommonBoxItemDetails.SKUDTO>optionalMin = itemDetails.getSkuMap()
	.stream()
	.filter(k -> k.getPrice() != null)
	.min(comparatorPrice);
if (optionalMin.isPresent()){
      Double price = optionalMin.get().getPrice();
	  commonBoxItemVO.setItemPrice(price);
}else {					commonBoxItemVO.setItemPrice(itemDetails.getPrice());
}

求某个属性字段的和排除空值

int count = itemDetails.getSkuMap()
						.stream()
						.map(skudto -> skudto.getStock() == null ? 0 : skudto.getStock())
						.mapToInt(stock -> stock).sum();

版权声明:本文为weixin_56227932原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。