我使用HashMap处理我使用RHT建议的代码从PostgreSql查询的ResultSet
public List resultSetToArrayList(ResultSet rs) throws SQLException{
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
ArrayList list = new ArrayList(50);
while (rs.next()){
HashMap row = new HashMap(columns);
for(int i=1; i<=columns; ++i){
row.put(md.getColumnName(i), rs.getObject(i));
}
list.add(row);
}
return list;
}
我做到了,因为我之后想把这个系列洗牌。
现在每行都是这样的:
{owner=22172613@N07, count=2}
我不知道如何为每个循环检索每个所有者ID和相应的数字!!
答案 0 :(得分:2)
所以你有一个ArrayList
,每个元素都是HashMap
,在其键中包含结果的列名,在其值中包含这些列的值。
最有可能帮助您的循环如下:
//call your method resultSetToArrayList here
List<Map> list = (List<Map>) resultSetToArrayList(rs);
//loop the list
for(Map r: list) {
System.out.println("row data: ");
final Iterator columnIterator = r.keySet().iterator();
while(columnIterator.hasNext()) {
final Object next = columnIterator.next();
System.out.println("\tColumn: " + next + " / Value: " + r.get(next));
}
}