2014-10-19 103 views
-1

正在嘗試循環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)pairs;」給我這個錯誤:

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

我希望最終能夠打印出像:

「SomeName是1歲和信息一個是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

你對變量映射條目的變量,但如果它可能是根據您的問題的描述一個HashMap的值。嘗試HashMap names = (HashMap) pairs.getValue();

+0

工作,謝謝! – user3803797 2014-10-19 01:45:55