一.获取流的方法
目前,我们共有四种获取流的方法,下面进行一一介绍:
①从集合中获取流
ArrayList<String> list = new ArrayList<>();
Stream<String> stream = list.stream();
这里我们通过调用stream()方法,将集合中的数据存放到Stream对象中,直接对Stream中的数据进行操作
②从数组中获取流
Integer [] a = new Integer[10];
Stream<Integer> stream1 = Arrays.stream(a);
这里我们通过调用stream()方法,将数组中的数据存放到Stream对象中,直接对Stream中的数据进行操作
③使用Stream中的静态方法: of()
Stream<Integer> stream2 = Stream.of(1,2,3,4,5,6,7);
stream2
.filter((e)-> {return e>3;})
.collect(Collectors.toList());
这里我们直接调用了Stream中的静态方法: of() ,并从中获取了"1,2,3,4,5,6,7",这7个元素
二.流的基本操作步骤
1.流的操作一般分为两大类:
中间操作和终端操作(也叫终止操作)
2.操作步骤:
①创建Stream(Stream的实例化)
从一个数据源(如:集合,数组)获取一个流
②中间操作
一个中间操作链,对数据源的数据进行处理
③终端操作(终止操作)
一旦执行终端操作,就会执行中间操作链,并产生相应的结果,在这之后,不会再被使用
注:
即一个Stream对象可以执行多个中间操作,只能执行一次终端操作.如果还想执行终端操作,就必须重新创建一个Stream的对象
将操作步骤简化为:
数据源 ==> 中间操作 ==> 终端操作 ==> 结果
简单示例如下:
Stream<Integer> stream2 = Stream.of(1,2,3,4,5,6,7);
stream2
//中间操作,筛选所需的元素
.filter((e)-> {return e>3;})
//终端操作,将流转换为一个list集合
.collect(Collectors.toList());