2017-09-23 9 views
0
HashMap<String, Map<Integer, Integer>> outer = new HashMap<>(); 
String abc = //someString; 
maxNumber = //somevalue; 
minNumber = //somevalue; 
Map<Integer,Integer> inner = new HashMap<>(); 
inner.put(minNumber, maxNumber); 
outer.put(abc, inner); 

以下のようなコードがあります。私は内側のマップからより多くの番号を取得していますが、試しても取得できません。地図内のより大きな番号をJavaで検索

for (Map.Entry<String, Map<Integer, Integer>> outer1 : outer.entrySet()) { 
    System.out.println("Feature: " + outer1.getKey() + "\n"); 
    for (Map.Entry<Integer, Integer> entry : outer1.getValue().entrySet()) { 
    //.... stuck here. 
} 

インナーマップからどのように大きな価値を引き出すことができますか?

+0

「取得できません」と言われたらどういう意味ですか?あなたは 'ヌル'またはエラーを取得しますか? – SteveFest

+0

これを行う必要がある理由の説明を含めることができますか? –

+0

これは私が試したことを意味します。 @SteveFest –

答えて

0

minNumberは、内部マップのキーです。値はmaxNumberです。

for (Map.Entry<String, Map<Integer, Integer>> outer1 : outer.entrySet()) { 
    System.out.println("Feature: " + outer1.getKey() + "\n"); 
    for (Map.Entry<Integer, Integer> entry : outer1.getValue().entrySet()) { 
     Integer key = entry.getKey(); // == minNumber 
     Integer value = entry.getValue(); // == maxNumber 
}