0

我想将值放在 HashMap 中,如下所示,

    map1.put("A",3);

    map1.put("A",5);
    map1.put("B",4);
    map1.put("B",8);

现在我想将 ("A",3) 键/值对作为其他映射的键,比如说 ("A",3) 与其他映射的键1相同 map2.put(key1, abc);

对其他人也是如此。你能帮我这样做吗???

4

3 回答 3

2

您可以获得第一个 hashMapentrySet并将其用作第二个 hashMap 的键。

entrySet返回

设置此地图中包含的映射的视图

例如,

1) 设置 firstMapEntries = map1.entrySet();

2) 创建第二张地图

3) 迭代 firstMapEntries。

4)添加到第二张地图 secondMap.put(firstMapEntry, "abc")

于 2012-08-03T15:57:30.810 回答
0

您可以使用该entrySet方法将这些(键,值)对作为一个集合。遍历该集合并将元素用作其他HashMap.

像这样的东西:

// given HashMap<String, Integer> map1:
for (Map.Entry<String, Integer> entry : map1.entrySet())
    map2.put(entry, "some string value");
于 2012-08-03T16:04:31.340 回答
0

或者您可以将它们存储在 Pair 中,如下所示:

class Pair
{
    public String first;
    public Integer second;

    public Pair(String first, Integer second)
    {
        this.first = first;
        this.second = second;
    }
}

然后创建一个 Pair - String 对的 HashMap:

HashMap<Pair, String> map = new HashMap<Pair, String>();
于 2012-08-03T16:06:32.123 回答