ArrayList中的Java HashMap

时间:2014-11-05 02:55:16

标签: java arraylist hashmap

如何在arrayList中获取HashTable的值?

我有以下代码:

public ArrayList resultSetToArrayList(ResultSet rs) {

    ArrayList list = new ArrayList();
    try {
        ResultSetMetaData md = rs.getMetaData();
        int columns = md.getColumnCount();
        int rowcount = 0;
        while (rs.next()) {
            Hashtable row = new Hashtable();
            for (int i = 1; i <= columns; ++i) {
                row.put(md.getColumnName(i), rs.getString(i));
            }
            list.add(rowcount, row);
            rowcount++;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    return list;
}

1 个答案:

答案 0 :(得分:4)

您似乎正在使用raw typesHashtable而不是HashMap。我想你要求像

这样的东西
public List<Map<String, String>> resultSetToArrayList(ResultSet rs) {
    List<Map<String, String>> list = new ArrayList<>();
    try {
        ResultSetMetaData md = rs.getMetaData();
        int columns = md.getColumnCount();
        while (rs.next()) {
            Map<String, String> row = new HashMap<>();
            for (int i = 1; i <= columns; ++i) {
                row.put(md.getColumnName(i), rs.getString(i));
            }
            list.add(row);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return list;
}

至于从Map中取回值,您可以迭代Map.keySet()

for (String key : map.keySet()) {
  System.out.printf("%s = %s%n", key, map.get(key));
}