如何通过两个地图的值比较

如何通过两个地图的值比较,第1张

如何通过两个地图的值比较

您尝试使用串联构造不同的字符串将失败,因为它是在编译时执行的。这些地图都有一对。每对将使用相同的字符串引用将“ foo”和“ barbar”作为键/值。

假设您确实要比较值集而不需要任何键的引用,则只是以下一种情况:

Set<String> values1 = new HashSet<>(map1.values());Set<String> values2 = new HashSet<>(map2.values());boolean equal = values1.equals(values2);

可能 是比较

map1.values()
map2.values()
将工作-
但它也有可能是在他们返回的顺序将在平等的比较,这是不是你想要的使用。

请注意,使用集合有其自身的问题-因为上述代码会将{“ a”:“ 0”,“ b”:“ 0”}和{“ c”:“ 0”}的映射视为相等。毕竟,值集是相等的。

如果您可以提供更严格的定义,那么确保我们给您正确的答案会更加容易。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5131557.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-17
下一篇2022-11-17

发表评论

登录后才能评论

评论列表(0条)

    保存