什么是java8的Stream?
Stream流的三个操作步骤:
- 创建Stream
①可以通过Collection 系列集合提供的Stream
List<String> list=new ArrayList<>();
Stream<String> stream = list.stream();
②可以通过数组提供的Stream
Enployee[] en=new Enployee[10];
Stream<Enployee> stream2 = Arrays.stream(en);
③可以通过Stream类中的静态方法of()来获取
Stream<String> of = Stream.of("aa","bb","cc");
④创建无限流,(注意:我们创建流,但是流不会立即执行而是需要结果的时候才会执行)
//4.创建无限流
//通过Stream类的迭代器来获取
//两个参数,第一个参数seed,种子的意思,就是起始值。第二个参数,是一个一元运算类,是function函数式接口的子类
Stream<Integer> iterate = Stream.iterate(0,(x)->x+2);
iterate.limit(10)//中间操作,只取10个数
.forEach(System.out::println);// 终端操作,foreach中需要一个消费者接口(Consumer)
例子:通过流生成10个随机数
//通过流随机生成10个数
Stream<Double> generate = Stream.generate(()->Math.random());//需要一个供给性接口(Supplier<T>)
generate.limit(10)//中间操作,只取10个数
.forEach(System.out::println);// 终端操作,foreach中需要一个消费者接口(consumer)
- 中间操作
- 终端操作