我正在用 java 读取 SQLite DB,并且有一个整数类型和字符串类型的结果集。
结果集的大小永远不会相同,因此我相信字符串数组不起作用。
我拥有的是 [Int ItemID] [String ItemName],并且希望能够获取结果集以将它们保存到某种 map 、列表或数组中,以便我可以根据需要将它们输出给用户。
我尝试使用字符串数组进行以下操作;但就像我所说的 - 它的大小永远不会与针对 SQLite DB 的搜索查询的大小相同。
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;
如果有更好的方法来实现我正在寻找的目标,我洗耳恭听!
提前致谢!
最佳答案
使用 map :
Map<Integer, String> dataMap = new HashMap<>();
while (resultSet.next()) {
dataMap.put(resultSet.getInt("itemId"), resultSet.getString("itemName"));
}
编辑:如果需要对键进行排序,可以使用TreeMap
。
关于java - 如何在java数组/列表中保存int和string列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55387510/