我有一个嵌套的哈希映射为

 HashMap<Integer, HashMap<String,Integer>> productAdded = new HashMap<>();


我增加了价值

    int price=12;
    String name="Apple";
    productAdded.put(1, new HashMap(){{ put(name, price); }});


我正在尝试将其检索为

for(int i=1;i<=ProductList.productAdded.size();i++)
{
    System.out.println(ProductList.productAdded.get(i).keySet()+"\t :$"+ProductList.productAdded.get(i).values());
}


实际产量


  [大披萨]:$ [12]


预期的输出。


  大披萨:$ 12

最佳答案

用于每个循环进行迭代

for(Integer i :productAdded.keySet()) {
           for(String s: productAdded.get(i).keySet()) {
               System.out.println(s+"\t :$"+ProductList.productAdded.get(i).get(s));
           }
       }


您也可以通过使用Java 8流foreach来执行此操作

ProductList.productAdded.keySet().stream().forEach(item->{
             ProductList.productAdded.get(item).keySet().stream().forEach(inneritem->{
                 System.out.println(inneritem+"\t :$"+ProductList.productAdded.get(item).get(inneritem));
             });
     });

10-05 21:54