java - 按键集比较 map

标签 java maps equals

this oracle java 它说:

Along similar lines, suppose you want to know whether two Map objects contain mappings for all of the same keys.

if (m1.keySet().equals(m2.keySet())) { ... }

我完全理解它的工作原理以及它的工作原理。然而,做这样的事情并不容易:

if (m1.equals(m2)){
..}

或者出于其他原因,我认为使用 Collection View 更好?

提前致谢。

最佳答案

映射可以有相同的但不同的:

    Map<String, String> m1 = new HashMap<>();
    m1.put("x", "1");
    m1.put("y", "2");

    Map<String, String> m2 = new HashMap<>();
    m2.put("x", "1");
    m2.put("y", "4");

    System.out.println(m1.equals(m2)); // false
    System.out.println(m1.keySet().equals(m2.keySet()));  // true

关于java - 按键集比较 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15684299/

相关文章:

java - 打包并运行应用程序后,我得到java.lang.ClassNotFoundException:org.apache.hive.jdbc.HiveDriver

r - R 中 map 的彩色多边形?

postgresql - 存储经度/纬度的空间几何列与 float /小数列

java - 谷歌地图 - 我正在尝试更新当前位置,但我的应用程序一打开就关闭了。这是代码-

c# - 为什么其他语言没有类似 Java 垃圾收集器的自动垃圾收集?

java - 如何将用户输入的整数更改为另一个整数?

java - 努力比较最后 2/3/4 个字符 Java (repl.it 018 - 条件语句练习 4)

java - ArrayList .contains() 不起作用

java - Java 中两个 double 的符号比较

java - LIBGDX Animate without enternig render()