java lambda contains模糊查询
时间: 2023-09-05 20:00:53 浏览: 223
在使用Java的Lambda表达式进行模糊查询时,我们可以使用Stream的filter()函数与contains()方法结合起来实现。contains()方法用于判断一个字符串中是否包含指定的子字符串。
假设我们有一个包含字符串的List,我们需要根据某个关键字进行模糊查询。我们可以使用Stream的filter()函数过滤出包含关键字的字符串,然后使用contains()方法进行匹配。
以下是一个简单的示例代码:
```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> list = Arrays.asList("apple", "banana", "orange", "grape", "watermelon");
String keyword = "an";
List<String> result = list.stream()
.filter(s -> s.contains(keyword))
.collect(Collectors.toList());
System.out.println("包含关键字 " + keyword + " 的字符串有:" + result);
}
}
```
运行结果将输出:包含关键字 "an" 的字符串有:[banana, orange]
在上述代码中,我们首先创建了一个包含字符串的List。然后,我们定义了一个关键字"an"。使用Stream的filter()函数,我们过滤出所有包含关键字的字符串。最后,我们使用collect()函数将结果收集到一个新的List中,并将其打印出来。
通过Lambda表达式和contains()方法的结合,我们可以方便地对字符串进行模糊查询。
阅读全文