java stream map filter
时间: 2023-09-23 21:06:04 浏览: 93
Java Stream API 提供了 `map` 和 `filter` 方法来对流中的元素进行映射和过滤。
`map` 方法用于将流中的每个元素都映射到另一个元素上,返回一个新的流。
例如,假设有一个整数列表,我们想将每个元素都加倍:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> doubledNumbers = numbers.stream()
.map(n -> n * 2)
.collect(Collectors.toList());
```
上述代码中,我们首先将整数列表转换为流,然后使用 `map` 方法将每个元素都乘以2,最后使用 `collect` 方法将结果收集到一个新的列表中。
`filter` 方法用于根据指定的条件过滤流中的元素,返回一个新的流。
例如,假设有一个字符串列表,我们想只保留长度大于3的字符串:
```java
List<String> strings = Arrays.asList("apple", "banana", "car", "dog", "elephant");
List<String> filteredStrings = strings.stream()
.filter(s -> s.length() > 3)
.collect(Collectors.toList());
```
上述代码中,我们首先将字符串列表转换为流,然后使用 `filter` 方法根据字符串长度大于3的条件过滤元素,最后使用 `collect` 方法将结果收集到一个新的列
阅读全文