java stream的map和filter怎么一起使用
时间: 2024-05-16 14:16:28 浏览: 136
Java学习笔记.pdf
在Java Stream中,我们可以使用`map()`函数将元素转换为另一种类型,然后使用`filter()`函数过滤不符合条件的元素。这两个函数可以组合使用来实现更复杂的操作。
例如,如果我们有一个字符串列表,我们可以使用`map()`函数将每个字符串转换为大写形式,然后使用`filter()`函数过滤出长度大于等于5的字符串:
```java
List<String> strings = Arrays.asList("apple", "banana", "orange", "pear", "grape");
List<String> filteredList = strings.stream()
.map(String::toUpperCase)
.filter(s -> s.length() >= 5)
.collect(Collectors.toList());
```
在这个例子中,我们首先调用`stream()`方法获取一个流,然后使用`map()`函数将每个字符串转换为大写形式,接着使用`filter()`函数过滤出长度大于等于5的字符串。最后,我们使用`collect()`方法将过滤后的结果收集到一个新的列表中。
注意,我们使用`String::toUpperCase`方法引用来将字符串转换为大写形式。这是一种简化代码的方法,在这里相当于调用`toUpperCase()`方法。
阅读全文