java8流处理,不生产博客,做个好博客的搬运工
2019-08-16 10:46:12来源:博客园 阅读 ()
java8流处理,不生产博客,做个好博客的搬运工
这位大佬写的不错,每次不会都会去看看https://www.cnblogs.com/shenlanzhizun/p/6027042.html
另外补充一些Java8骚操作
BigDecimal求和
博客中位置:3.2 归约:reduce(其实已经有了int类型的求和,我写个这个类型的吧)
List<BigDecimal> bigDecimalList = new ArrayList<>(); bigDecimalList.add(BigDecimal.valueOf(0.05)); bigDecimalList.add(BigDecimal.valueOf(0.05)); System.out.println(bigDecimalList.stream().reduce(BigDecimal.ZERO,BigDecimal::add));
结果:0.10
另外提一点,
System.out.println(new BigDecimal(0.05));
结果:0.05000000000000000277555756156289135105907917022705078125
这个写法,是直接传入了double类型,输出的是丢失精度的结果,并不是BigDecimal会丢失精度,是double(具体百度)
所以尽量用 BigDecimal.valueOf()
将list映射为map
博客中位置:3.3 收集:toMap文中提到过,但是没有例子,实战中又用的到
借他list一用
//将学生id作为键,学生名称为值
Map<Long, String> collect = students.stream().collect(Collectors.toMap(Student::getId, Student::getName, (k1, k2) -> k1));
//将学生id作为键,学生对象为值
Map<Long, Student> studentMap = students.stream().collect(Collectors.toMap(Student::getId, student -> student, (k1, k2) -> k1));
排序
博客中位置:2.1 过滤:其中提到排序sorted(列子有排序字段类型是int)
//String类型 按照(姓名)自然顺序排序 students = students.stream().sorted((s1,s2)->s1.getName().compareTo(s2.getName())).collect(Collectors.toList()); //或者只排序姓名 List<String> stringList = students.stream().map(Student::getName).collect(Collectors.toList()); stringList =stringList.stream().sorted(Comparator.naturalOrder()).collect(Collectors.toList()); //按照时间排序(倒叙) 假设学生对象有创建时间这个字段 students = students.stream().sorted(Comparator.comparing(Student::getCreateTime).reversed()).collect(Collectors.toList());
欢迎补充批评,另外工作中另外遇到我会补充更新
原文链接:https://www.cnblogs.com/javalbb/p/11215579.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- java8 stream的分组功能,具体时候是真的好用 2020-06-10
- Spring Cloud Gateway 全局通用异常处理 2020-06-08
- 聊聊 OAuth 2.0 的 Token 续期处理 2020-06-08
- 架构设计 | 异步处理流程,多种实现模式详解 2020-06-04
- Kotlin与java8的SAM转换对比 2020-06-03
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash