Java8新特性之Stream
一、基础概念
1.1 定义
Java Stream API是Java 8引入的一种新的API,用于操作集合数据。Stream API提供了一种更加简洁、高效、可读性强的方式来处理集合数据。
1.2 流操作
- 中间操作:可以连接起来的流操作
- 终端操作:关闭流的操作
- 使用流的步骤:
- 一个数据源(如集合、创建一个流)来执行一个查询
- 一个中间操作链,形成流的流水线
- 一个终端操作,执行流水线,并能生成结果
- 注意:
- 中间操作都是将一个流转化为另一个流的操作
- 终端操作一旦执行,最开始创建的流就不能再使用,否则会抛异常
二、创建流
根据数据源的不同以及涉及到的类的不同,常见创建方式如下。
- 通过集合创建
- 通过数组创建
- 通过Stream创建
- 通过集合创建流
Collection及其子类都有一个实例方法stream()
,利用该方法就能通过集合创建流。
Collection<Integer> collection = new ArrayList<>();
Stream<Integer> stream = collection.stream();
- 通过数组创建流
Arrays有一个静态方法stream(T[])
可以把数组转为流。
Integer [] arr = {
1,2,3,4};
Stream<Integer> integerStream2 = Arrays.stream(arr);
- 通过Stream API 创建流
// 通过可变参数列表创建流Stream.of(T ...values) : Stream<T>
Stream<Integer> integerStream = Stream.of(1,