去
例子
null
1
1
1
拉姆达
课程是以操作符为主线串连起来的
函数定义和执行
需要调用apply才能执行并返回
reduce 执行归集操作, 某种程度上和 Collect 作用类似
flatMap 处理流的嵌套
排序
mapping用法
collectingAndThen 用法
joining 用法
第一个参数:分隔符
第二个参数:前缀
第三个参数:后缀
分组为其他类的集合
分组统计和聚合函数
group by
建立流的几种方式
内建的函数式接口
函数式接口
lamda表达式
建立流的几种方式
Arrays.stream 2.collection.stream 底层调用的是StreamSupport.stream 3.Stream.of 4.Stream.iterate 5.Stream.generate :generate方法返回一个无限连续的无序流6.StreamSupport.stream
通过查看Collection.stream()的方法,我们可以看出来,Colleciton.stream()其实是调用了StreamSupport.stream()来实现的。
所以我们也可以使用StreamSupport.stream()来创建一个Stream。
当我们面对的是一个迭代器的时候,使用StreamSupport.stream()就可以创建一个Stream。
第一个参数是传入一个迭代器,第二个参数是true代表使用并行来进行处理。false代表串行来处理Stream。
7.IntStream 整型流
8.Stream.builder 构建流,可以在流中添加一些元素
Java Stream.of()和IntStream.range()的区别
Stream.of()方法,其生成的Stream是有限长度的,Stream的长度为其内的元素个数。底层调用的是Arrays.stream
IntStream range(int startInclusive,int endExclusive)以1为增量步长从startInclusive(包括)到endExclusive(不包括)返回顺序的有序IntStream。
你好呀好多好多的话
通过定义三个接口,分别匹配入参,和返回值。通过调用入参函数,生成返回值对象。
Arrays.stream : Arrays.stream(arr);
Collection.stream : arr.stream();
Stream.of : Stream.of(arr[0],arr[1],arr[2],.....)
Stream.iterate : Strean.iterate(0,n -> n+1).limit(10)
Collectors - 排序