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

标签 java sql sqlite

我正在用 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/

相关文章:

mysql - 如何优化此数据库查询以计算每天收到的 SMS 消息总数

php - SQL中如何选择字段并对每个字段进行计数?

sql - 拆分逗号分隔值并将它们映射到 SQLite 中的原始 ID

android - 更正 Android SQLite 中 GLOB 空格的语法

sqlite - 我如何在 MSBUILD(Exec 任务)中执行 sqlite (sqlite3) 语句?

java - Ajax 发布到 RESTful Web 服务

java - 数据库中的表不与外键连接

java - QNX 上的 Apache Nifi

java - JAXB 生成类的编译错误

sql - 如何使用 xPath (10g) 在 Oracle SQL extract() 中获取节点名称