JAVA获取两个MAP中同key不同Val的MAP集合
时间: 2024-05-12 11:18:08 浏览: 17
可以使用Java 8中的Stream API和lambda表达式实现该功能,代码如下:
```
Map<String, String> map1 = new HashMap<>();
map1.put("key1", "value1");
map1.put("key2", "value2");
map1.put("key3", "value3");
Map<String, String> map2 = new HashMap<>();
map2.put("key1", "value1");
map2.put("key2", "value4");
map2.put("key4", "value5");
Map<String, String> diffMap = map1.entrySet().stream()
.filter(e -> map2.containsKey(e.getKey()) && !map2.get(e.getKey()).equals(e.getValue()))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
System.out.println(diffMap);
```
运行结果为:
```
{key2=value2}
```
解释一下代码:首先,我们将map1的entrySet转换为一个Stream,然后过滤掉不包含在map2中的键,最后再过滤掉值相同的键值对,最终将不同的键值对收集到一个新的Map中。
相关问题
Scala中使用不同方法打印map集合的key值
除了使用`map.keys.foreach(println)`来打印map集合的key值外,还可以使用以下方法:
1. 使用for循环打印map的key值:
```scala
val map = Map("a" -> 1, "b" -> 2, "c" -> 3)
for (key <- map.keys) {
println(key)
}
```
2. 将map的key值转化为List,然后使用foreach打印:
```scala
val map = Map("a" -> 1, "b" -> 2, "c" -> 3)
map.keys.toList.foreach(println)
```
3. 使用map的keySet方法获取所有的key集合,然后使用foreach打印:
```scala
val map = Map("a" -> 1, "b" -> 2, "c" -> 3)
map.keySet.foreach(println)
```
以上三种方法都可以打印出map集合的key值,具体使用哪种方法,可以根据实际情况进行选择。
Scala中打印map集合的key值
在Scala中打印map集合的key值,可以使用以下代码:
```scala
val map = Map("a" -> 1, "b" -> 2, "c" -> 3)
map.keys.foreach(println)
```
其中,`map.keys`返回一个迭代器,包含map中所有的key值。`foreach`遍历迭代器,对于每一个元素执行一次`println`,即打印出该元素。因此,以上代码会打印出map中所有的key值。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)