讲解Stream API
时间: 2023-10-22 12:14:29 浏览: 124
Java Stream全面讲解
4星 · 用户满意度95%
Stream API是Java 8引入的一个新特性,它是一种高效且易于使用的处理集合的方式。使用Stream API可以很方便地对集合中的元素进行过滤、映射、排序、聚合等操作。
Stream是一个序列化的元素集合,支持串行和并行操作。Stream操作可以分为中间操作和终端操作两种。中间操作会返回一个新的Stream对象,终端操作会将Stream转换为另一种形式,例如List、Set、Map等,或者对Stream进行遍历,产生一个结果。
下面是一些Stream API的用法示例:
1. 过滤:使用filter方法过滤集合中的元素,只保留符合条件的元素。
```java
List<String> names = Arrays.asList("Alice", "Bob", "Cathy", "David");
List<String> filteredNames = names.stream()
.filter(name -> name.startsWith("A"))
.collect(Collectors.toList());
```
2. 映射:使用map方法将集合中的元素映射为另一种类型的元素。
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> squaredNumbers = numbers.stream()
.map(n -> n * n)
.collect(Collectors.toList());
```
3. 排序:使用sorted方法对集合中的元素进行排序。
```java
List<Integer> numbers = Arrays.asList(5, 2, 3, 1, 4);
List<Integer> sortedNumbers = numbers.stream()
.sorted()
.collect(Collectors.toList());
```
4. 聚合:使用reduce方法对集合中的元素进行聚合操作。
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int sum = numbers.stream()
.reduce(0, (a, b) -> a + b);
```
以上仅是Stream API的一些简单用法示例,实际应用中还有很多其他的用法,例如分组、分区、连接等。需要根据具体的业务需求进行选择和使用。
阅读全文