什么是 Stream API?
Stream API
是 Java 8 引入的一个用于对集合数据进行函数式编程操作的强大的库。它允许我们以一种更简洁、易读、高效的方式来处理集合数据,可以极大提高 Java 程序员的生产力,是目前为止对 Java 类库最好的补充。
Stream API
的核心思想是将数据处理操作以函数式的方式链式连接,以便于执行各种操作,如过滤、映射、排序、归约等,而无需显式编写传统的循环代码
为什么要用 Stream API?
1、简洁和可读性:Stream API 的链式操作使代码更加简洁、可读。
2、不可变性:Stream 操作不会修改原始数据,而是创建一个新的 Stream,确保了原始数据的不可变性,有助于并发编程。
3、惰性求值:Stream 操作是惰性的,只有在调用终端操作时才会触发中间操作的执行,提高了性能,因为只处理需要的数据
4、并行处理:Stream API 支持并行处理数据,可以充分利用多核处理器,提高性能。
5、更高的效率:使用 Stream API 可以更快速地编写代码,因为它减少了样板代码的编写,同时提供了丰富的操作。
如何创建呢?
使用集合的Stream()方法
List<String> list1 = Arrays.asList("zhangsan","lisi","wangwu","lisi"); Stream<String> stream1 = list1.stream();
使用数组
String[] str = {"张三","李四","王五","李六"}; Stream<String> stream = Arrays.stream(array);
使用Stream.of()方法创建
Stream<String> stringStream = Stream.of("张三", "李四", "王五", "李六");
Stream中的方法:
中间操作:
中间操作是一系列的操作,对数据源的数据进行处理,例如过滤、映射、排序、去重等等。注意这些操作不会立即执行,而是构建一个操作链。下表是 Stream 中常用中间操