Stream流搜索方法
时间: 2023-12-31 18:22:44 浏览: 26
在Java中,可以使用Stream API来进行流式处理。以下是Stream流搜索方法的一些示例:
1. filter()方法:该方法可以根据条件过滤出符合条件的元素。
例如,假设有一个List<String>类型的列表,要筛选出其中所有以字母“a”开头的字符串,则可以使用以下代码:
```
List<String> list = Arrays.asList("apple", "banana", "pear", "avocado");
List<String> filteredList = list.stream()
.filter(s -> s.startsWith("a"))
.collect(Collectors.toList());
```
2. findFirst()方法:该方法可以返回符合条件的第一个元素。
例如,假设有一个List<Integer>类型的列表,要查找其中第一个大于10的数,则可以使用以下代码:
```
List<Integer> list = Arrays.asList(1, 5, 11, 13, 8);
Optional<Integer> result = list.stream()
.filter(i -> i > 10)
.findFirst();
if (result.isPresent()) {
System.out.println("第一个大于10的数为:" + result.get());
} else {
System.out.println("列表中不存在大于10的数。");
}
```
3. anyMatch()方法:该方法可以判断是否存在符合条件的元素。
例如,假设有一个List<String>类型的列表,要判断其中是否存在以字母“a”开头的字符串,则可以使用以下代码:
```
List<String> list = Arrays.asList("apple", "banana", "pear", "avocado");
boolean result = list.stream()
.anyMatch(s -> s.startsWith("a"));
if (result) {
System.out.println("列表中存在以字母a开头的字符串。");
} else {
System.out.println("列表中不存在以字母a开头的字符串。");
}
```