如何将键值作为其他Map的关键?

时间:2012-08-03 15:56:24

标签: java

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

    map1.put("A",3);

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

现在我想将(“A”,3)键/值对作为其他地图的关键字,如, 让我们说(“A”,3)对其他人来说是同样的关键 map2.put(key1,abc);

其他人也一样。能帮我这样做吗???

3 个答案:

答案 0 :(得分:2)

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

entrySet返回

  

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

例如,

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

2)创建第二个地图

3)迭代firstMapEntries。

4)添加到第二个地图secondMap.put(firstMapEntry,“abc”)

答案 1 :(得分:0)

您可以使用entrySet方法将这些(键,值)对作为一组。迭代该集合并将元素用作其他HashMap中的键。

这样的事情:

// given HashMap<String, Integer> map1:
for (Map.Entry<String, Integer> entry : map1.entrySet())
    map2.put(entry, "some string value");

答案 2 :(得分:0)

或者您可以将它们存储在这样的一对中:

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>();