java-list-通过stream求和
目录
java list 通过stream求和
java list 通过stream求和
public static void main(String[] args) {
List<Double> doubles = new ArrayList<>();
doubles.add(1.0);
doubles.add(2.2);
doubles.add(3.0);
doubles.add(4.1);
double sum = doubles.stream().mapToDouble(Double::doubleValue).sum();
System.out.println(sum);
}
对象的某个属性求和
List<InventoryBlow> inventoryBlows = new ArrayList<>();
InventoryBlow inventoryBlow = new InventoryBlow();
inventoryBlow.setNum(3.3);
InventoryBlow inventoryBlow2 = new InventoryBlow();
inventoryBlow2.setNum(4.5);
inventoryBlows.add(inventoryBlow);
inventoryBlows.add(inventoryBlow2);
// 写法一
Double collect = inventoryBlows.stream()
.collect(Collectors.summingDouble(InventoryBlow::getNum));
System.out.println(collect);
// 写法二 (推荐)
double sum1 = inventoryBlows.stream().mapToDouble(InventoryBlow::getNum).sum();
System.out.println(sum1);
ps:此处以一个double类型的属性举例