当前位置: 首页 > news >正文

网站建设提供书面资料清单百度app内打开

网站建设提供书面资料清单,百度app内打开,深圳优秀网站建设价格,北京市门头沟有没有做网站的在Java8中提供了新特性—流式操作,通过流式操作可以帮助我们对数据更快速的进行一些过滤、排序、去重、最大、最小等等操作并且内置了并行流将流划分成多个线程进行并行执行,提供更高效、快速的执行能力。接下来我们一起看看Java8为我们新增了哪些便捷呢…

在Java8中提供了新特性—流式操作,通过流式操作可以帮助我们对数据更快速的进行一些过滤、排序、去重、最大、最小等等操作并且内置了并行流将流划分成多个线程进行并行执行,提供更高效、快速的执行能力。接下来我们一起看看Java8为我们新增了哪些便捷呢?

目录

什么是集合的流式操作?

对集合做流式操作的三个步骤?

映射

flatMap:相同元素合并或拆分h1

map:将源数据转换成需要的数据类型或者进行指定的操作

toMap:转换成需要的map集合

并行流

什么是并行流?

为什么需要并行流?

parallel():并行流

findAny和findFirst的区别是什么?

findAny:最先抢到cpu时间片的线程它所处理的数据段中的第一个数据,串行流结果等同于findFirst

findFirst:流中的第一个元素(指集合中的第一个),并行流或串行流结果一致


什么是集合的流式操作?

流式操作:不是一个数据结构,不负责任何的数据存储

更像是一个迭代器,有序的获取到数据源中的每一个数据,并且可以对这些数据进行一些操作

流失操作的每一个方法,返回值都是返回的流本身

翻译:可以把流比作一个管道,管道中有很多过滤网

对集合做流式操作的三个步骤?

获取数据源:集合、数组

对数据进行处理的过程:过滤、排序、映射……(中间操作)

对流中数据的整合:转成集合、数量(最终操作)


映射

方法

  • flatMap:相同元素合并或拆分h1
  • map:将源数据转换成需要的数据类型或者进行指定的操作
  • toMap:转换成需要的map集合

实践说明

  • flatMap:相同元素合并或拆分h1

  • map:将源数据转换成需要的数据类型或者进行指定的操作

要求输出内容:h,e,l,l,o,w,o,r,l,d

public static void main(String[] args) {String[] array = {"hello", "world"};System.out.println(Arrays.stream(array).map(ele -> ele.split("")).flatMap(Arrays::stream).collect(Collectors.toList()));
}

参考博客:

flatMap():Java8 FlatMap的使用_java flatmap_杨幂等的博客-CSDN博客

Map():这么简单,还不会使用java8 stream流的map()方法吗?_stream流的map方法_欧子有话说的博客-CSDN博客

toMap:转换成需要的map集合

public static void main(String[] args) {Stream<Person> stream = Data.getData().stream();Map<String, Integer> maps = stream.collect(Collectors.toMap(Person::getName, Person::getScore));System.out.println(maps);
}


并行流

什么是并行流?

把流分成多个块,并行操作

为什么需要并行流?

集合做重复的操作,如果使用串行执行会相当耗时,因此一般会采用多线程来加快, Java8的提供了并发执行能力

方法

  • parallel():并行流

  • findAny:最先抢到cpu时间片的线程它所处理的数据段中的第一个数据,串行流结果等同于findFirst

  • findFirst:流中的第一个元素(指集合中的第一个),并行流或串行流结果一致

实战说明

parallel():并行流

import com.example.Data;import java.util.Arrays;
import java.util.stream.Collectors;
import java.util.stream.LongStream;/*** @BelongsProject: StreamOperate* @BelongsPackage: PACKAGE_NAME* @CreateTime: 2023-05-01  21:12* @Description: TODO* @Version: 1.0*/
public class ParalleStream {public static void main(String[] args) {long start = System.currentTimeMillis();LongStream.rangeClosed(0L, 50000000000L).parallel().reduce(Long::sum);long end = System.currentTimeMillis();System.out.println(end - start);}
}

参考博客:Java 8 并行流(Parallel Stream) 介绍 - 简书

findAny和findFirst的区别是什么?

  • findAny:最先抢到cpu时间片的线程它所处理的数据段中的第一个数据,串行流结果等同于findFirst

  • findFirst:流中的第一个元素(指集合中的第一个),并行流或串行流结果一致

对于并行流中,findAny比findFirst效率更高

import com.example.Data;import java.util.Arrays;
import java.util.stream.Collectors;
import java.util.stream.LongStream;/*** @BelongsProject: StreamOperate* @BelongsPackage: PACKAGE_NAME* @CreateTime: 2023-05-01  21:12* @Description: TODO* @Version: 1.0*/
public class ParalleStream {public static void main(String[] args) {System.out.println(Data.getData().parallelStream().findFirst());System.out.println(Data.getData().stream().findFirst());System.out.println(Data.getData().stream().findAny());System.out.println(Data.getData().parallelStream().findAny());}
}
 

相关博客

Java8流式操作——中间操作

Java8流式操作——最终操作

Java流式操作——Collectors工具类

如果有想要交流的内容欢迎在评论区进行留言,如果这篇文档受到了您的喜欢那就留下你点赞+收藏+评论脚印支持一下博主~

http://www.khdw.cn/news/3505.html

相关文章:

  • 哈尔滨网站开发培训网站优化入门
  • wordpress 百家企业网站推广优化
  • 济南专业做企业网站合肥网络推广服务
  • 做啥网站流量高化妆品网络营销策划方案
  • 金融网站如何做设计方案北京互联网营销公司
  • 网站如何上传百度数据
  • 微信小程序企业网站站长工具查询域名
  • 网站投注员怎么做安阳企业网站优化外包
  • 网后台的网站怎么做网络推广一般都干啥
  • 国家建设部门三类人员官方网站佛山网络推广培训
  • wordpress打赏赚钱seo推广工具
  • 各类网站建设关键词网站排名查询
  • 什么是销售型网站德州百度推广公司
  • 网站备案信息真实性核验单 新网郑州seo服务公司
  • 小程序咸鱼之王网站优化有哪些类型
  • 信息图表网站seo超级外链发布
  • 如何看一个网站的好坏最吸引人的营销广告词
  • 游戏网站规划方案seo工资服务
  • 网站如何优化流程网络营销教程
  • 广东省农业农村厅官网seo推广多少钱
  • 做企业网站的缺点百度竞价入门教程
  • 网站首页图片效果佛山网络营销推广
  • 网站在线优化检测seo建站营销
  • 网站站点不安全牛奶推广软文文章
  • 信誉好的低价网站建设广州推广工具
  • 大连网站建设动态营销型网页设计
  • 网站功能优化的方法谷歌外贸
  • 西安便宜做网站的seo企业推广案例
  • 网站建设计划表网络运营推广合作
  • 企业做网站的费用如何科目2020年十大关键词