for (Map.Entry<String, Map<String, List>> entry:Map1.entrySet())
{
String key=entry.getKey();
System.out.println("Type : " +key);
for (Map.Entry<String, List> entry1 : entry.getKey().getValue().entrySet())
{
System.out.println("Type : " + entry1.getKey());
}
}我不知道应该用什么来代替entry.getKey().getValue().entrySet()。有人能解释我明白这一点吗。这是用于迭代嵌套映射。
我得到的错误是
.\common\devtracker\process\devtr\DevTrackerImpl.java:226: cannot find symbol
symbol : method getValue()
location: class java.lang.String
for (Map.Entry<String, List<ProjectBreakupVO>> entry1:entry.getKey().getValue().entrySet())发布于 2012-11-23 03:53:28
entry.getKey()没有方法getValue(),因为它只是返回一个字符串。你可能想要的
for (Map.Entry<String, List> entry1 : entry.getKey().getValue().entrySet())而是去做
for (Map.Entry<String, List> entry1 : entry.getValue().entrySet())发布于 2012-11-23 04:08:20
你应该用..。
for (Map.Entry<String, List> entry1 : entry.getKey().getValue().entrySet())若要获取内环的条目,请执行以下操作。
发布于 2014-10-05 23:50:46
如果您试图迭代Map<String, List>类型的映射,并且当您像这样使用myMap.keySet()时,您正面临着findbug问题:
for (String keyValue : myMap.keySet()) {
String key = keyValue;
List objValue = myMap.get(key);
}然后尝试使用myMap.entrySet()迭代映射,这是更推荐的:
for(Map.Entry<String, List> entry: myMap.entrySet()) {
String key = entry.getKey();
List objValue = entry.getValue();
}因此,在这种情况下嵌套FOR循环就像:
for (Map.Entry<String, Map<String, List>> entry:Map1.entrySet())
{
String key=entry.getKey();
System.out.println("Type : " +key);
for (Map.Entry<String, List> entry1 : entry.getValue().entrySet())
{
System.out.println("Type : " + entry1.getKey());
}
}https://stackoverflow.com/questions/13522809
复制相似问题