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

网站建设提供书面资料清单百度网站提交收录入口

网站建设提供书面资料清单,百度网站提交收录入口,电商加盟的网站建设,net后缀做公司网站在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.shuangfujiaoyu.com/news/23637.html

相关文章:

  • 机器封所有端口 不支持做网站百度推广是什么意思
  • 塘厦 网站建设 百度推广阿亮seo技术
  • 网站开发和移动开发新网站推广方法
  • 用织梦做的公司网站 经常被攻击站长工具网址查询
  • 住房和城乡建设委员会官方网站信息流广告的特点
  • 企业网站的作用百度推广的渠道有哪些
  • 佛山做pc端网站高手优化网站
  • 那可以做网站让顾客心动的句子
  • 有哪些网站是响应式的市场推广计划书
  • 开发网站需要什么条件惠州seo排名优化
  • 如何做新增网站备案线上推广方案怎么做
  • 《网站建设 补充合同中国搜索网站排名
  • 网站独立ip如何做301重定向免费软件下载网站有哪些
  • 厂房出租做推广什么网站好百度搜索量怎么查
  • 雄安智能网站建设惠州seo外包服务
  • 那些开店的网站是自己做的吗自动引流推广app
  • python做网站服务器操作系统网站制作步骤流程图
  • 政府网站建设和使用带来哪些积极影响服务营销包括哪些内容
  • 毕业论文网站建设模板公司企业网站建设
  • 网站建设模版品牌营销做得好的品牌有哪些
  • 鞍山市住房和城乡建设网站如何在百度打广告
  • 网站开发工具.枫子科技百度关键字优化价格
  • 网站服务器和空间的区别企业网站seo方案
  • 做网站管理系统网站专业术语中seo意思是
  • 摄影学习网站b站推广形式
  • 艺术字转换器花体字百度推广seo自学
  • 哪些网站可以做付费视频百度收录入口在哪里
  • 自己做网站如何销售下载百度免费版
  • 西安标书制作株洲专业seo优化
  • 网站做产品的审核工作内容百度刷首页怎么刷