0

我有一个要读取和处理的文本文件(由一个制表符空格分隔),类似于:

GroupNum  Id   Name  Address
    1      1   john   USA
    1      2   mike   Uk
    2      3   smith  UK

我如何将每一行存储在地图中(userId 是键,其余的是值)并将其分组到一个列表中,然后再次将其映射为 groupId 与键,其余作为值?
谁能帮助我如何做到这一点?

4

2 回答 2

1

创建一些自定义对象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);

}
于 2013-05-16T12:28:20.993 回答
0

你可以在元数据的帮助下做到这一点,

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);
}

通用解决方案应该适用于任意数量的列。

于 2013-05-16T12:45:55.623 回答