Java 如何在良好的视图中从嵌套哈希映射检索数据?
我有一个嵌套的哈希映射Java 如何在良好的视图中从嵌套哈希映射检索数据?,java,hashmap,Java,Hashmap,我有一个嵌套的哈希映射 HashMap<Integer, HashMap<String,Integer>> productAdded = new HashMap<>(); 我正试图把它恢复为 for(int i=1;i<=ProductList.productAdded.size();i++) { System.out.println(ProductList.productAdded.get(i).keySet()+"\t :$"+Prod
HashMap<Integer, HashMap<String,Integer>> productAdded = new HashMap<>();
我正试图把它恢复为
for(int i=1;i<=ProductList.productAdded.size();i++)
{
System.out.println(ProductList.productAdded.get(i).keySet()+"\t :$"+ProductList.productAdded.get(i).values());
}
for(int i=1;i这两个keySet()
和values()
都返回集合,因此使用了额外的大括号。对于您的特定情况,重构为keySet().iterator().next()
和values().iterator().next
以实现所需的输出格式。keySet()
和values()
返回集合,从而返回附加的大括号。对于您的特定情况,请重构为keySet().iterator().next()
和values().iterator().next
,以获得所需的输出格式。虽然不推荐,但您可以执行以下操作:
ProductList.productAdded.get(i).keySet().toString().replace("[","").replace("]","");
String brackets = "[\\[\\]]";
ProductList.productAdded.get(i).keySet().toString().replaceAll(brackets,"");
值位也一样
或者你可以这样做:
ProductList.productAdded.get(i).keySet().toString().replace("[","").replace("]","");
String brackets = "[\\[\\]]";
ProductList.productAdded.get(i).keySet().toString().replaceAll(brackets,"");
虽然不推荐,但您可以执行以下操作:
ProductList.productAdded.get(i).keySet().toString().replace("[","").replace("]","");
String brackets = "[\\[\\]]";
ProductList.productAdded.get(i).keySet().toString().replaceAll(brackets,"");
值位也一样
或者你可以这样做:
ProductList.productAdded.get(i).keySet().toString().replace("[","").replace("]","");
String brackets = "[\\[\\]]";
ProductList.productAdded.get(i).keySet().toString().replaceAll(brackets,"");
用于迭代的每个循环
for(Integer i :productAdded.keySet()) {
for(String s: productAdded.get(i).keySet()) {
System.out.println(s+"\t :$"+ProductList.productAdded.get(i).get(s));
}
}
您还可以通过使用Java8流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));
});
});
用于迭代的每个循环
for(Integer i :productAdded.keySet()) {
for(String s: productAdded.get(i).keySet()) {
System.out.println(s+"\t :$"+ProductList.productAdded.get(i).get(s));
}
}
您还可以通过使用Java8流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));
});
});
键集
和值
都没有方法get
。键集
和值
都没有方法get
。