HashMap<String,String> details=new HashMap<>();
switch(value){
case "approved":
if(rs!=null) {
int i = 1;
while(rs.next()) {
String NO = rs.getString("NO");
String CLASS = rs.getString("CLASS");
String CLASS_DESC = rs.getString("CLASS_DESC");
details.put("NO", NO);
details.put("CLASS", CLASS);
details.put("CLASS_DESC", CLASS_DESC);
System.out.println(details);
HashMap<Integer, HashMap<String, String>> detailsall = new HashMap<>();
detailsall.put(i,details);
i++;
System.out.println(detailsall);
}
for (Map.Entry<Integer, HashMap<String, String>> detailsallmap : detailsall.entrySet()) {
System.out.println(detailsallmap.getKey() + " = "+ detailsallmap.getValue());
}
}else {
details=null;
}
break;
}
迭代结果集的每个条目并添加到哈希映射,并将该哈希映射添加为嵌套映射。 但它仅作为最后一个条目添加到嵌套哈希映射中。
您需要增加计数器。
detailsall.put(i++,details);
此外,您还需要在 while 循环内移动创建详细信息 HashMap 的行。