我是靠谱客的博主 唠叨唇膏,最近开发中收集的这篇文章主要介绍java coccuren_java8流处理,不生产博客,做个好博客的搬运工,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

另外补充一些Java8骚操作

BigDecimal求和

博客中位置:3.2 归约:reduce(其实已经有了int类型的求和,我写个这个类型的吧)

List 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 collect = students.stream().collect(Collectors.toMap(Student::getId, Student::getName, (k1, k2) ->k1));

//将学生id作为键,学生对象为值

Map studentMap = students.stream().collect(Collectors.toMap(Student::getId, student -> student, (k1, k2) -> k1));

//根据年级分组,封装成map

Map> map=students.stream().collect(Collectors.groupingBy(Student::getGrade);

排序

博客中位置:2.1 过滤:其中提到排序sorted(列子有排序字段类型是int)

//String类型 按照(姓名)自然顺序排序

students = students.stream().sorted((s1,s2)->s1.getName().compareTo(s2.getName())).collect(Collectors.toList());//或者只排序姓名

List 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());

并行流

public void pullSupplier() {

List students = new ArrayList<>();

ForkJoinPool myPool = new ForkJoinPool(30);

myPool.submit(() -> students.parallelStream().forEach(

student -> {

//设置九千万学生国籍(具体的逻辑)

student.setGJ("中国");

}));

}

欢迎补充批评,另外工作中另外遇到我会补充更新

最后

以上就是唠叨唇膏为你收集整理的java coccuren_java8流处理,不生产博客,做个好博客的搬运工的全部内容,希望文章能够帮你解决java coccuren_java8流处理,不生产博客,做个好博客的搬运工所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部