当前位置: 首页 > 面试题库 >

如何将All放在Java hashMap上的内容彼此之间,而不替换现有键和值?

公西良骏
2023-03-14
问题内容

我需要将所有键和值从一个HashMap复制到另一个B,但不必替换现有的键和值。

最好的方法是什么?

我当时在考虑迭代keySet和checkig是否存在,我会

Map temp = new HashMap(); // generic later
temp.putAll(Amap);
A.clear();
A.putAll(Bmap);
A.putAll(temp);

问题答案:

看来您愿意创建一个临时目录Map,所以我会这样做:

Map tmp = new HashMap(patch);
tmp.keySet().removeAll(target.keySet());
target.putAll(tmp);

patch是您要添加到target地图的地图。

感谢Louis Wasserman,这是一个利用Java 8中新方法的版本:

patch.forEach(target::putIfAbsent);


 类似资料:
  • 字符串方法有什么区别? 在下面的示例中,代码给出了< code >相同的输出。在这两种情况下,字符串的< code >所有实例都会被替换。 输出: 这里有一只狗,那里有一只 输出: 这里有一只狗,那里有一只

  • 对于我的应用程序,我正在创建一个脚本编辑器。目前,我在一个包含JLabels表示的JPanel中显示了行号。但是,当我添加新的来表示新的行号时,会出现在面板的中心,即使我设置了的和。我想要它,以便标签将出现在彼此的下面。 JPanel类构造函数,它包含所有JLabels: 将JLabels添加到JPanel的方法: 添加新JLabels时的当前外观:

  • 问题内容: 我希望两个div在包装div中彼此相邻。在这种情况下,绿色div的高度应确定包装纸的高度。 我如何通过CSS实现呢? 问题答案: 浮动一个或两个内部div。 浮动一格: 或者如果您同时浮动两个子元素,则需要鼓励包装器div包含两个浮动子元素,否则它会认为它是空的而不是在它们周围放置边框 浮动两个div:

  • 问题内容: 我必须使用docker-compose设置一个mongo副本集。对于副本集,容器必须彼此了解。 我试过了 我收到一个循环导入消息。但是,如果删除到dbreplicasetpart1的反向链接,则无法从dbreplicasetpart2 ping到dbreplicasetpart1。解决办法是什么? 问题答案: 为Docker 1.10更新 Docker 1.10允许在compose文件

  • 问题内容: 我需要在受控环境中测试我的使用者和消息触发器。所以我做了一个创建模拟服务器的项目:mokafelk。 它可以正常工作,但安全性很差。在旋转了3个节点 通过默认的簇但卡夫卡服务器上的监听端口暴露在所有。这里是模板的用于创建集群。 基本上,我希望容器能够相互通信。我不认为容器链接是一种选择,因为在我看来链接只是一种方式。但是,如果我正确的话,只使用暴露端口即可将端口暴露给主机,而不会暴露给

  • 我正在研究一种利用JSON中的替换函数参数的方法。Stringify在JavaScript中为了更改单词大小写(toTop /toLowercase),问题是我的JSON不是直键:value,有些值也是键,它们本身也有值,所以我需要遍历所有键和值,检查值是否也是键,并确保我更改所有键和值的大小写(toTop或toDown)。我知道JSON. Stringify(对象,Replace erFunct