.stream()的用法
`.stream()` 是 Java 8 中引入的一个方法,用于将集合(如 List、Set 等)转换为一个流(Stream)。流是 Java 8 中引入的一个新特性,它允许你以声明式方式处理数据集合,比如过滤、映射、排序等。
下面是 `.stream()` 方法的一些常见用法:
1. **过滤元素**:
使用 `filter()` 方法来过滤流中的元素。例如,从整数列表中过滤出所有的偶数:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
List<Integer> evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.List());
```
2. **映射元素**:
使用 `map()` 方法将流中的元素映射到另一个对象。例如,将整数列表中的每个元素都乘以 2:
sortedlist```java
List<Integer> doubledNumbers = numbers.stream()
.map(n -> n * 2)
.List());
```
3. **排序元素**:
使用 `sorted()` 方法对流中的元素进行排序。例如,对一个字符串列表按长度进行排序:
```java
List<String> words = Arrays.asList("apple", "banana", "cherry", "date");
List<String> sortedWords = words.stream()
.sorted(ComparatorparingInt(String::length))
.List());
```
4. **查元素**:
使用 `findFirst()` 或 `findAny()` 方法查流中的第一个元素。例如,到第一个偶数:
```java
Optional<Integer> firstEven = numbers.stream()
.filter(n -> n % 2 == 0)
.findFirst();
```
5. **终止操作**:
`collect()` 是终止操作,它将流转换回一个列表或其他集合类型。例如,将流中的元素收集到一个列表中:
```java
List<Integer> result = numbers.stream()
.filter(n -> n % 2 == 0)
.map(n -> n * 2)
.List());
```
这只是 `.stream()` 方法的一些基本用法。Java 的流 API 非常强大,可以进行更复杂的操作,如 reduce、flatMap、peek 等。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论