java.util.stream.Stream<T>
是Java 8新加入的最常用的流接口。(这并不是一个函数式接口。)
获取一个流非常简单,有以下几种常用的方式:
- 所有的
Collection
集合都可以通过stream
默认方法获取流; Stream
接口的静态方法of
可以获取数组对应的流。
方式1:根据Collection获取
首先,java.util.Collection
接口中加入了default方法stream
用来获取流,所以其所有实现类均可获取流。
public class StreamApiTest {
@Test
public void streamApiTest(){
ArrayList<String> list = new ArrayList<>();
HashSet<String> set = new HashSet<>();
Stream<String> listStream = list.stream();
Stream<String> setStream = set.stream();
}
}
方式2:根据数组获取流
如果使用的不是集合或映射而是数组,由于数组对象没有默认的方法,但是我们可以通过以下两种方式来获取流
Arrays.stream()
方法Stream.of()
方法
通过Arrays工具类
public class StreamApiTest {
@Test
public void streamApiTest(){
int[] arr = new int[]{1,2,3,4,5};
IntStream stream2 = Arrays.stream(arr);
}
}
通过Stream提供的of方法
public class StreamApiTest {
@Test
public void streamApiTest(){
int[] arr = new int[]{1,2,3,4,5};
Stream<int[]> stream = Stream.of(arr);
}
}