栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java1.8+的Stream流学习总结(第一部分)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java1.8+的Stream流学习总结(第一部分)

感谢:bilibili  up主:学相伴飞哥   倾囊相授!这只是我的学习总结,更多知识可以关注飞哥!

目录

1.Stream流常用创建方法

1-1 Collection下的Stream()方法和paralleStream()方法

1-2 Arrays下的Stream()方法

1-3 Stream中的静态方法:of() , iterate() , generate()

1-4 BufferReader.lines()方法,将每行内容都转换成流

1-5 Pattern.splitAsStream(方法,将字符串分隔成流

2.Stream流的两种操作

2-1 中间操作

2-2 终止操作


1.Stream流常用创建方法

1-1 Collection下的Stream()方法和paralleStream()方法

List list = new ArrayList<>();
Stream stream1 = list.Stream();//获取一个顺序流


Stream stream2 = list.paralleStream();
//获取一个并行流,在并发式编程中,这个的效率比上面个高很多

1-2 Arrays下的Stream()方法
Integer[] nums = new Integer[10];
Stream stream3 = Arrays.Stream(nums);

1-3 Stream中的静态方法:of() , iterate() , generate()
//创建一个流
Stream stream4 = Stream.of(1,2,3,4,5);


//创建一个迭代的流,输出打印它
//从0开始迭代,每次+2,链式编程用limit限制迭代次数为6
Stream stream5 = Stream.iterate(0,( x -> x + 2 ).limit(6));
stream5.forEach(System.out::println);//0 2 4 6 8 10


//返回一个无限连续的无序流,次数为2
Stream stream6 = Stream.generate(Math::random).limit(2);
stream6.forEach(System.out::println);

1-4 BufferReader.lines()方法,将每行内容都转换成流
BufferedReader reader = new BufferedReader(new FileReader("F:\test_Stream.txt")) ;
Stream lineStream = reader.lines();
lineStream.forEach(System.out::println);

1-5 Pattern.splitAsStream(方法,将字符串分隔成流
//以逗号作为分隔符,分割的每一部分都是流
Pattern pattern = Pattern. compile(",");
Stream stringStream = pattern.splitAsStream("a,b,c,d");
stringStream.forEach(System.out::println);

 

2.Stream流的两种操作(下面两张图中的具体使用代码就不搬过来了,我自己悄悄看哈哈哈哈哈,其实是太多了我没记住,就不想总结上来了)

2-1 中间操作

2-2 终止操作

 飞哥生动的讲了一段话:(这段话我倒是一字不差记下了哈哈哈哈)

可以形象地理解Stream的操作是对一组粗糙的工艺品原型(即对应的Stream数据源)进行加工成颜色统-一的工艺品(即最终得到的结果),第一步筛选出合适的原型(即对应Stream的filter的方法),第二步将这些筛选出来的原型工艺品上色(对应Stream的map方法),第三步取下这些,上好色的工艺品(即对应Stream的collect(toList())方法)。在取下工艺品之前进行的操作都是中间操作,可以有多个或者0个中间操作,但每个Stream数据源只能有一次终止操作,否则程序会报错。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/353930.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号