我不能迭代这个结构(Java):
HashMap<HashMap<Integer, Integer>, HashMap<Integer, Integer>> last
= new HashMap<HashMap<Integer, Integer>, HashMap<Integer, Integer>>();下面是我要添加到第一篇文章中的2 HashMaps:
HashMap<Integer, Integer> arrival = new HashMap<Integer, Integer>();
HashMap<Integer, Integer> departure = new HashMap<Integer, Integer>();尝试了不同的循环,读了几篇文章,但我无法连接点,直到现在才使它正确。
例如,我希望能够在循环中获得/打印两个HashMaps中的HashMap中的四个整数值。
谢谢!
发布于 2014-05-12 13:15:41
首先,我不认为在另一个HashMap中使用key作为key是个好主意。看起来,您表示的是键值对映射(到达/目的地?),最好只为此创建一个类,并将该类添加到HashMap中。使用当前的结构会造成更多的混乱而不是好处。
尽管如此,这是有可能的循环通过。
循环通过HashMap的一种方法是循环它的入口集。因此,如果h是HashMap<Integer, Integer>,则循环如下:
for(Map.Entry<Integer, Integer> entry : h.entrySet)
{
...
}因此,对于一个名为HashMap<HashMap<Integer, Integer>, HashMap<Integer, Integer>> last的
for(Map.Entry<HashMap<Integer, Integer>, HashMap<Integer, Integer>> entry : last.entrySet())
{
HashMap<Integer, Integer> key = entry.getKey();
for(Map.Entry<Integer, Integer> keyMapEntry : key.entrySet())
{
//Loop through the value HashMap.
//keyMapEntry.getKey() gives the key of the Hashmap that is the key in the
//original Hashmap, keyMapEntry.getValue() gives the value
}
HashMap<Integer, Integer> value = entry.getValue();
for(Map.Entry<Integer, Integer> valueMapEntry : value.entrySet())
{
//Loop through the key HashMap
//valueMapEntry.getKey() gives the key of the Hashmap that is the value in the
//original Hashmap, valueMapEntry.getValue() gives the value
}
}https://stackoverflow.com/questions/23609880
复制相似问题