java stream模糊搜索
时间: 2024-03-19 07:37:57 浏览: 15
Java Stream是Java 8引入的一个新的API,用于处理集合数据的流式操作。它提供了一种更简洁、更高效的方式来处理集合数据,可以进行过滤、映射、排序、聚合等操作。
在Java Stream中,模糊搜索可以通过使用filter()方法结合正则表达式来实现。filter()方法接受一个Predicate函数式接口作为参数,可以根据指定的条件对流中的元素进行筛选。
下面是一个示例代码,演示了如何使用Java Stream进行模糊搜索:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> words = Arrays.asList("apple", "banana", "orange", "grape", "watermelon");
String keyword = "an";
List<String> result = words.stream()
.filter(word -> word.matches(".*" + keyword + ".*"))
.collect(Collectors.toList());
System.out.println(result);
}
}
```
在上述代码中,我们定义了一个字符串列表`words`,然后使用`stream()`方法将其转换为流。接着使用`filter()`方法对流中的元素进行筛选,使用正则表达式`".*" + keyword + ".*"`来匹配包含关键字的字符串。最后使用`collect()`方法将筛选后的结果收集到一个新的列表中,并打印输出。