如何在Java数组/列表中保存int和string列?

时间:2019-03-27 22:34:11

标签: java sql sqlite

我正在用Java读取SQLite数据库,并具有整数类型和字符串类型的结果集。

结果集的大小永远不会相同,因此我相信字符串数组将无法工作。

我所拥有的是[Int ItemID] [String ItemName],并希望能够获得结果集以将其保存到某种类型的地图,列表或数组中,以便我可以根据需要将其输出给用户。 / p>

我尝试使用字符串数组进行以下操作;但是就像我说的那样-它的大小永远不会超过对SQLite数据库的搜索查询。

Connection connection = DriverManager.getConnection("jdbc:sqlite:ItemDB.db");
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
String queryResults[][] = null;
while (resultSet.next()) {
    queryResults[current][0] = resultSet.getString("itemId");
    queryResults[current][1] = resultSet.getString("itemName");
    current++;
}
resultSet.close();
statement.close();
connection.close();
return queryResults;

如果有更好的方法来实现我所寻找的目标,我会全力以赴!

谢谢!

1 个答案:

答案 0 :(得分:2)

使用地图:

Map<Integer, String> dataMap = new HashMap<>();
while (resultSet.next()) {
    dataMap.put(resultSet.getInt("itemId"), resultSet.getString("itemName"));
}

编辑:如果需要对键进行排序,则可以使用TreeMap