java 8 stream 提供了下面几种类型的求和
Stream::mapToInt
Stream::mapToDouble
Stream::mapToLong
?
1
2
3
4
5
6
7
8
9
10
11
|
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类型,可以使用下面方法实现
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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种循环
1、for循环
?
1
2
3
4
5
6
|
int sum = 0 ;
for ( int i = 1 ; i <= 100 ; i++) {
sum += i;
}
System.out.println( "1到100累加的和为:" + sum);
|
2、while循环
?
1
2
3
4
5
6
7
|
int sum = 0 ;
int i = 1 ;
while (i <= 100 ) {
sum += i;
i++;
}
System.out.println( "1到100累加的和为:" + sum);
|
3、do…while循环
?
1
2
3
4
5
6
7
|
int sum = 0 ;
int i = 1 ;
do {
sum += i;
i++;
} while (i <= 100 );
System.out.println( "1到100累加的和为:" + sum);
|
以上这篇Java lambda 循环累加求和代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持快网idc。
原文链接:https://blog.csdn.net/angus_Lucky/article/details/85062728
相关文章
猜你喜欢
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
- 64M VPS建站:能否支持高流量网站运行? 2025-06-10
- 64M VPS建站:怎样选择合适的域名和SSL证书? 2025-06-10
- 64M VPS建站:怎样优化以提高网站加载速度? 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-05-29 98
-
2025-05-29 42
-
2025-05-29 51
-
2025-06-04 55
-
2025-05-25 50
热门评论