如何筛选在map1不在map2的key值
时间: 2024-05-14 19:19:52 浏览: 58
对Map的key和value进行排序
可以使用Java 8的Stream API和Map的keySet()方法来实现这个功能。首先,通过keySet()方法获取map1的所有key,然后使用filter()方法和Map的containsKey()方法过滤掉map2中存在的key,最后使用collect()方法将剩余的key收集到一个新的集合中。
具体实现代码如下:
```java
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
public class Test {
public static void main(String[] args) {
Map<String, Integer> map1 = new HashMap<>();
map1.put("a", 1);
map1.put("b", 2);
map1.put("c", 3);
Map<String, Integer> map2 = new HashMap<>();
map2.put("a", 1);
map2.put("d", 4);
Set<String> diffKeys = map1.keySet().stream()
.filter(key -> !map2.containsKey(key))
.collect(Collectors.toSet());
System.out.println("map1中不在map2中的key为:" + diffKeys);
}
}
```
输出结果为:map1中不在map2中的key为:[b, c]
阅读全文