结果集将返回不同的数据集,例如:
> Winter 1001 112
> Summer 1001 112
> Autumn 1001 110
> Spring 1001 111
> Winter 1002 112
> Summer 1002 116
> Autumn 1002 110
> Spring 1002 115
> Winter 1003 112
> Autumn 1003 111
> Spring 1003 115
> Summer 1003 112
我需要显示的数据采用以下格式:
我得到的数据[冬,夏,秋,春] [data1] [112,112,110,111] [data2] [112,116,110,115] [data3] [112,111,115,112]
我正在编写代码,这就是我所拥有的东西
if (connection != null) {
System.out.println("Got DB Connection!");
String selectTableSQL = sql;
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery(selectTableSQL);
while (rs.next()) {
caltList.add("\""+rs.getString(1)+"\"");
dataList.add(rs.getString(3));
}
}
String result = "";
String gotData = "I got data "
result = String.format(res,gotData,caltList,dataList);
有人可以使用Hashmap或某种方法进行指导..对java来说是新手......并且无法继续进行
答案 0 :(得分:0)
我想我会用LinkedHashMap<Integer, HashMap<String, Integer>
填充ResultSet
这样的数据:
LinkedHashMap [
=> 1001
=> "Winter" => 112
=> "Summer" => 112
=> "Autumn" => 110
=> "Spring" => 111
=> 1002
=> "Winter" => 112
=> "Summer" => 116
=> "Autumn" => 110
=> "Spring" => 115
=> ...
]
然后在第二个循环中,我将创建您期望的输出。
([winter,summer,Autumn,Spring] [data1] [112,112,110,111] [data2] [112,116,110,115] ...]
)。
这就是我选择LinkedHashMap
的原因,因为它保留了添加条目的顺序。因此可以确保data1
是地图中的第一个条目,依此类推。