java 8 lambda 表达式的优缺点总结

最近接触到 lambda 表达式后,发现它基本上可以消灭所有 for 循环,换句话说,所有的 for 循环都能被 lambda 表达式改写。

但我发现,它并不是特别完美的,经过我查阅国内外不少网站的资料,加上自己试验,总结出以下几点:

优点:

1. 简洁。

2. 非常容易并行计算。

3. 可能代表未来的编程趋势。

4. 结合 hashmap 的 computeIfAbsent 方法,递归运算非常快。java有针对递归的专门优化。

(我在实际使用 computeIfAbsent 做递归运算时,发现判断语句块不要太大,越小越小,否则运算速度挺慢的)

缺点:

1. 若不用并行计算,很多时候计算速度没有比传统的 for 循环快。(并行计算有时需要预热才显示出效率优势,并行计算目前对 Collection 类型支持的好,对其他类型支持的一般)

2. 不容易调试。

3. 若其他程序员没有学过 lambda 表达式,代码不容易让其他语言的程序员看懂。

4. 在 lambda 语句中强制类型转换貌似不方便,一定要搞清楚到底是 map 还是 mapToDouble 还是 mapToInt

总结:目前使用它的目的不仅仅可以拿出来炫,哈哈

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心态与习惯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值