Map怎么模糊查询
时间: 2023-07-15 09:14:48 浏览: 135
在 Map 中进行模糊查询可以使用 Java 8 中提供的 stream() 和 filter() 方法。具体步骤如下:
1. 将 Map 中的所有键值对转换成一个 Set 集合
2. 使用 stream() 方法将 Set 转换成流
3. 使用 filter() 方法对流进行过滤,筛选出符合模糊查询条件的键值对
4. 将过滤后的键值对收集到一个新的 Map 中
下面是一个示例代码:
```java
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
public class MapFuzzyQueryExample {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("apple", 10);
map.put("banana", 20);
map.put("orange", 15);
map.put("watermelon", 30);
map.put("peach", 25);
String keyword = "an";
Map<String, Integer> result = map.entrySet()
.stream()
.filter(entry -> entry.getKey().contains(keyword))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
System.out.println(result);
}
}
```
以上代码中,我们首先定义了一个 Map 对象,然后定义了一个关键字 keyword,用于模糊查询。在 stream() 方法中,我们使用了 filter() 方法对键值对进行过滤,保留键中包含关键字的键值对。最后,我们使用 collect() 方法将过滤后的键值对收集到一个新的 Map 中,并输出结果。
阅读全文