Java在stream列表中筛选指定对象
时间: 2024-09-20 08:14:39 浏览: 35
在Java中,可以使用Stream API来高效地过滤和筛选列表中的元素。假设你有一个List对象,比如List<String>,并且你想筛选出所有长度大于5的字符串,可以这样做:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StreamFilterExample {
public static void main(String[] args) {
List<String> strings = Arrays.asList("apple", "banana", "cherry", "date", "elderberry");
List<String> filteredStrings = strings.stream()
.filter(s -> s.length() > 5)
.collect(Collectors.toList());
filteredStrings.forEach(System.out::println); // 打印符合条件的字符串
}
}
```
在这个例子中,`stream()`方法将集合转换为Stream,`filter()`方法接受一个谓词(这里是`s -> s.length() > 5`),这个谓词会应用于每个元素,如果元素满足条件则通过。最后,`collect()`方法收集满足条件的元素并返回一个新的列表。
阅读全文