【问题标题】:How to remove elements of one map from another map?如何从另一张地图中删除一张地图的元素?
【发布时间】:2013-08-07 13:04:47
【问题描述】:
HashMap<String, String> foo = new HashMap<String, String>();
HashMap<String, String> baar = new HashMap<String, String>();

如何从foo 中删除在baar 中找到的项目?

【问题讨论】:

  • 您要删除所有在 baar 中找到键的条目,还是该值也必须相同?例如。如果 foo 有 ("apple", "pie") 并且 baar 有 ("apple", "cobbler"),苹果派应该从 foo 中删除吗?另外,您是否尝试过自己解决这个问题?您尝试了哪些方法,但以何种方式没有奏效?
  • 不够清楚。 baar 和 foo 是什么关系?

标签: java map hashmap


【解决方案1】:

你可以试试:

foo.keySet().removeAll(baar.keySet())

MapkeySet() 的更改会反映在地图本身中。

如果您想删除 exact 映射(不仅仅是基于键),您可以使用与 entrySet() 相同的方法:

foo.entrySet().removeAll(baar.entrySet());

【讨论】:

    猜你喜欢
    • 2019-01-05
    • 2010-11-07
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    相关资源
    最近更新 更多