如何使用Integer迭代和打印嵌套的HashMap作为值?

Chr*_*Blp 0 java integer hashmap println getvalue

我想打印一个嵌套的HashMap,它是:

HashMap<Integer,HashMap<Character,Integer>> map;
Run Code Online (Sandbox Code Playgroud)

我搜索了很多,但我找不到打印整数的方法,因为当我使用getValues()时,它告诉我:"找不到符号".(因为它是一个整数值)

这就是我试图做的事情:

public void print(){
   for(Map.Entry<Integer, HashMap<Character,Integer>> t :this.map.entrySet()){
     Integer key = t.getKey();
     for (Map.Entry<Character,Integer> e : this.map.getValue().entrySet())
       System.out.println("OuterKey:" + key + " InnerKey: " + e.getKey()+ " VALUE:" +e.getValue());
   }
}
Run Code Online (Sandbox Code Playgroud)

我不能在我的第二个中使用getValue(),那么我还能使用什么呢?

提前致谢 !祝你今天愉快.克里斯.

Era*_*ran 6

getValue()是一种方法Map.Entry,而不是Map.

你应该使用t.getValue().entrySet()而不是this.map.getValue().entrySet()在第二个循环中.

这会给你内在的地图.

public void print(){
   for(Map.Entry<Integer, HashMap<Character,Integer>> t :this.map.entrySet()){
     Integer key = t.getKey();
     for (Map.Entry<Character,Integer> e : t.getValue().entrySet())
       System.out.println("OuterKey:" + key + " InnerKey: " + e.getKey()+ " VALUE:" +e.getValue());
   }
}
Run Code Online (Sandbox Code Playgroud)