Java8 新特性 Stream() 创建流
Posted Frost Boy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java8 新特性 Stream() 创建流相关的知识,希望对你有一定的参考价值。
通过Controllere类的Stream()和parallelStream()创建流
//通过集合创建流
@Test
public void test1() {
String arr[] = new String[]{"a", "b", "c"};
//把数组转换成集合
List<String> list = Arrays.asList(arr);
//生成stream流(串行流)
Stream<String> stream = list.stream();
//生成并行流
Stream<String> stringStream = list.parallelStream();
}
通过数组创建流
@Test
public void test2() {
String arr[] = new String[]{"a", "b", "c"};
//通过数据里面的stream()方法来创建的
Stream<String> stream = Arrays.stream(arr);
//通过Stream类的静态方法创建方法
Stream<String> arr1 = Stream.of(arr);
}
创建一个空的流
@Test
public void test3() {
//创建一个空流
Stream<Object> empty = Stream.empty();
}
无限流
@Test
public void test4() {
//生成一个全是G的无限流
//参数是一个supplier函数式接口,不接收参数,只管生产
//可以根据自己的要求来创建流
Stream<String> generate = Stream.generate(() -> "G");
System.out.println("生成5个全是G的流:");
generate.limit(5).forEach(System.out::println);
//生成一个
//根据初始化生成的值,最后的一个输出的是2的9次方
Stream<Integer> iterate = Stream.iterate(1, (x) -> x * 2);
iterate.limit(10).forEach(System.out::println);
/**
* 1
* 2
* 4
* 8
* 16
* 32
* 64
* 128
* 256
* 512
*/
}
个人愚见,如有不对,恳请扶正!
以上是关于Java8 新特性 Stream() 创建流的主要内容,如果未能解决你的问题,请参考以下文章