Использую для себя 3 метода, на вход берут результат запроса к бд:
1. Таблицу в ArrayList с Hashmap (что вам надо)
2. Первую колонку в ArrayList
3. Первую строку в HashMap
Под android надо немного переписать их.
private ArrayList<HashMap<String, Object>> resultSetToArrayList(ResultSet rs) throws SQLException {
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
ArrayList<HashMap<String, Object>> list = new ArrayList<>();
while (rs.next()) {
HashMap<String, Object> row = new HashMap<>(columns);
for (int i = 1; i <= columns; ++i) {
row.put(md.getColumnName(i), rs.getObject(i));
}
list.add(row);
}
return list;
}
private ArrayList<Object> resultSetGetColToArrayList(ResultSet rs) throws SQLException {
ArrayList<Object> list = new ArrayList<>();
while (rs.next()) {
list.add(rs.getObject(1));
}
return list;
}
private HashMap<String, Object> resultSetGetRowToHashmap(ResultSet rs) throws SQLException {
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
HashMap<String, Object> row = new HashMap<>(columns);
if (rs.next()) {
for (int i = 1; i <= columns; ++i) {
row.put(md.getColumnName(i), rs.getObject(i));
}
}
return row;
}