我有一个要读取和处理的文本文件(由一个制表符空格分隔),类似于:
GroupNum Id Name Address
1 1 john USA
1 2 mike Uk
2 3 smith UK
我如何将每一行存储在地图中(userId 是键,其余的是值)并将其分组到一个列表中,然后再次将其映射为 groupId 与键,其余作为值?
谁能帮助我如何做到这一点?
创建一些自定义对象GroupNum
,如属性(GroupNum, Id, Name, Address
)。
在阅读 ResultSet 时准备
HashMap<String, GroupNum> hm;
while (rs.next) {
GroupNum gn = new GroupNum ();
// set all values to GroupNum
hm.put(gn.getGropuNum(), gn);
}
你可以在元数据的帮助下做到这一点,
List<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
int count = resultSet.getMetaData().getColumnCount();
while(resultSet.next()){
HashMap<String,String> map = new HashMap<String,String>();
for(int i=1;i<=count;i++){
map.put(resultSet.getMetaData().getColumnName(i), resultSet.getString(resultSet.getMetaData().getColumnName(i)));
}
list.add(map);
}
通用解决方案应该适用于任意数量的列。