0

结果集将返回不同的数据集,例如:

> 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

我需要显示的数据是这种格式:

我得到了数据 [winter,summer,Autumn,Spring] [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 新手……无法继续

4

1 回答 1

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] ...])。

这就是我选择 a 的LinkedHashMap原因,因为它保持您添加条目的顺序。因此可以确定data1是 Map 中的第一个条目,依此类推。

于 2013-09-10T11:16:32.840 回答