迭代嵌套的哈希映射

时间:2014-10-19 01:11:50

标签: java map hashmap

我试图在HashMap中循环遍历嵌套值。 值如下所示:

{names={SomeName={age=1,otherInfo={a=1,b=2,c=3}},SomeOtherName={age=1,otherInfo={a=1,b=2,c=3}}}

我希望能够做类似于评论的代码。 行“HashMap names =(HashMap)pair;”给了我这个错误:

LinkedHashMap$LinkedValueIterator.next() line: 739 [local variables unavailable]    

我希望最终能打印出类似的内容:

“SomeName是1岁,信息a是1,c是3”

到目前为止,这是我的代码:

HashMap map = (HashMap) yaml.load(input);
Iterator i = map.entrySet().iterator();
while (i.hasNext()){
    Map.Entry pairs = (Map.Entry)i.next();
    if (pairs.getKey().toString().equals("names")){
        HashMap names = (HashMap) pairs;
          // Iterator namesI = names.entrySet().iterator();
          // while(namesI.hasNext()){
              // Map.Entry p = (Map.Entry)namesI.next();
          //}
    }
}   

1 个答案:

答案 0 :(得分:1)

你的对变量是一个Map Entry变量,但是根据你问题的描述,它可能是一个HashMap。试试HashMap names = (HashMap) pairs.getValue();