map使用stream过滤出指定的key
时间: 2023-08-06 21:02:40 浏览: 240
您可以使用`filter`方法结合`map`方法来过滤出指定的键。假设您有一个`Map`对象,可以按照以下方式进行操作:
```java
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("key1", 1);
map.put("key2", 2);
map.put("key3", 3);
map.put("key4", 4);
String targetKey = "key2";
Map<String, Integer> filteredMap = map.entrySet()
.stream()
.filter(entry -> entry.getKey().equals(targetKey))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
System.out.println(filteredMap);
}
}
```
在上面的示例中,我们使用`entrySet()`方法将`Map`转换为`Stream<Map.Entry<K, V>>`,然后使用`filter`方法来过滤出键与目标键匹配的条目。最后,使用`collect`方法将结果收集为一个新的`Map`对象。在这个例子中,我们过滤出了键为"key2"的条目。
阅读全文