java如何获取驻留在列表中的HASHMAP的键值
我的代码:
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;
}
所以我返回一个列表,其中包含键和值对。在我的客户机逻辑中,我必须获得列表,并将每个hashMap中的键值与文本进行比较
我们怎么能做到呢?请帮我做这个
提前谢谢
# 1 楼答案
首先,您不应该使用原始类型。将代码修改为类似以下内容:
然后您可以这样访问您的列表:
# 2 楼答案
如果您的问题是不应该使用的原始类型
List
,,则必须将行强制转换为HashMap<String,Object>
:然后,要获取列名称,请执行以下操作:
价值观:
编辑:根据您的评论,您似乎需要一列作为键,另一列作为值。因此,在创建
HashMap
时,不应使用getColumnName
作为键,而应使用该列的值:警告:我不知道你想用这个做什么,但这很奇怪,因为在
HashMap
行中只有一个键和一个值。您可能希望使用一个包含所有行的HashMap
(并去掉List
):如果您事先不知道键将在列0中,值将在列1中,但您知道列的名称,那么可以在列中循环查找具有正确名称的列的索引