Как сохранить столбцы типа int и string в массиве / списке java? - PullRequest
0 голосов
/ 28 марта 2019

Я читаю БД SQLite на Java, и у меня есть результирующий набор целочисленного типа и строкового типа.

Размер результирующего набора никогда не бывает одинаковым, поэтому я считаю, что строковый массив не будет работать.

То, что у меня есть, это [Int ItemID] [String ItemName], и ​​я хочу иметь возможность получить набор результатов, чтобы сохранить их в какой-то карте, списке или массиве, чтобы я мог выводить их пользователю при вызове.

Я попытался выполнить ниже строковый массив; но, как я уже говорил, он никогда не будет такого же размера, как его поисковый запрос к базе данных 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 Ответ

2 голосов
/ 28 марта 2019

Используйте карту:

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

Редактировать: Вы можете использовать TreeMap, если вам нужно отсортировать ключи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...