欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java lambda 循環(huán)累加求和代碼

 更新時間:2020年08月17日 09:10:59   作者:我寫的代碼會爆炸  
這篇文章主要介紹了Java lambda 循環(huán)累加求和代碼,具有很的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

java 8 stream 提供了下面幾種類型的求和

Stream::mapToInt

Stream::mapToDouble

Stream::mapToLong

 public void test() {
 List<Person> people = new ArrayList<>();
 people.add(new Person("zhangsan",20));
 people.add(new Person("lisi", 26));
 people.add(new Person("wangwu",35));
 
 int sum = people.stream()
      .mapToInt(p -> p.getAge())
      .sum();
 System.out.println("Total of ages " + sum);
 }

但是沒有BigDecimal類型,可以使用下面方法實現(xiàn)

  public void test() {
 List<Person> list = new ArrayList<>();
 list.add(new Person("zhangsan", 20, new BigDecimal(10.5)));
 list.add(new Person("lisi", 26, new BigDecimal(22.2)));
 list.add(new Person("wangwu", 35, new BigDecimal(15.54)));
 
 BigDecimal amounts = list.stream().map(item -> item.getAmount())
  .reduce(BigDecimal.ZERO, BigDecimal::add);
 amounts = amounts.setScale(1, BigDecimal.ROUND_DOWN);
 System.out.println("Total of amounts:" + amounts);
 
 // 或者
 BigDecimal sum = list
  .stream()
  .map(Person::getAmount)
  .reduce(BigDecimal::add)
  .get();
    sum = sum.setScale(1, BigDecimal.ROUND_DOWN);
 System.out.println("Total of sums: " + sum);
 }

補充知識:Java算法——求1到100累加的和,3種循環(huán)

1、for循環(huán)

int sum = 0;

for (int i = 1; i <= 100; i++) {
sum += i;
}
System.out.println("1到100累加的和為:" + sum);

2、while循環(huán)

int sum = 0;
int i = 1;
while (i <= 100) {
sum += i;
i++;
}
System.out.println("1到100累加的和為:" + sum);

3、do...while循環(huán)

int sum = 0;
int i = 1;
do {
sum += i;
i++;
} while (i <= 100);
System.out.println("1到100累加的和為:" + sum);

以上這篇Java lambda 循環(huán)累加求和代碼就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論