【问题标题】:Combine two maps into a third将两张地图合并为第三张
【发布时间】:2012-04-25 16:17:54
【问题描述】:

我有 2 张地图:

  • s1 有键:1,3,5,7
  • s2 有键:2,4,6

我想创建第三个映射,该映射将保存来自上述映射的键值对,以便一次从两个映射中交替地获取键值对。因此,第三个映射的键为 1,2,3,4,5,6,7。

【问题讨论】:

  • 你自己尝试过什么吗?
  • 添加作业标签 - 并获得零答案;)
  • 这……很奇怪。你确定这真的是你需要的吗?
  • 您知道地图并非设计用于排序吗?您不应该依赖地图中的顺序。话虽如此,TreeMap 确实实现了您可能想要的功能(排序地图迭代)。

标签: java map hashmap


【解决方案1】:
s3 = new HashMap();
s3.putAll(s1);
s3.putAll(s2);

【讨论】:

  • 非常感谢您的建议。基本上我属于测试域,但试图将我的域更改为开发,所以请您帮我提供一些与 util 包和字符串相关的 imp 问题,这将让我更容易通过笔试
  • @Barun 你没有说你必须对它进行排序。但是,如果您确实使用排序地图,即 TreeMap。
【解决方案2】:

您可以使用自动对键进行排序的 TreeMap,并使用 putAll 方法将原始映射的键/值对添加到新映射中。

【讨论】:

  • 非常感谢您的建议,我属于测试领域,但正在尝试切换到开发领域。如果可能的话,您能在这方面帮助我吗?您能否向我提出一些来自 util 包的 imp 问题和破解笔试的字符串包
  • 恐怕只有2种方法:1)通过阅读javadoc或浏览Java Tutorial on Collections甚至更好地了解包的内容2)在代码中使用集合并使用它们了解它们的工作原理。
  • 感谢您的建议,我什至是这个博客网站的新手,问这样一个愚蠢的问题是一个错误,但是在解决这个问题时我想到了一些其他的想法,比如我们是否可以使用 if否则循环首先检查密钥是否奇数,如果是的话,我们可以从第一个地图中选择一个密钥并将其添加到第三个地图如果条件失败,我们可以从第二个地图中选择密钥并将其添加到第三个地图。但我想它可以以更简单的方式解决。好吧,如果你能给我你的邮件 ID,我可以亲自问你问题,而不是在这个博客网站上发布它。
  • @Barun 这不是一个博客网站,它是一个问答网站:你提出一个特定的问题,展示你尝试过的代码以及你遇到了什么问题,并且你应该得到大部分的特定答案时间。我只是参与者之一,我在空闲时间免费回答问题,所以我宁愿不分享我的电子邮件。我希望你明白。最后,如果它解决了您的问题,请随时 accept one of the answers
猜你喜欢
  • 2019-11-09
  • 2011-10-31
  • 2017-12-25
  • 2021-08-18
  • 2023-03-06
  • 2011-11-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多