简体   繁体   中英

Java HashMap inside ArrayList

How can I get the value of HashTable inside the arrayList?

I have the following code:

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

You appear to be using raw types and Hashtable instead of a HashMap . I think you're asking for something like

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

As for getting the values back out of a Map , you might iterate the Map.keySet() like

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM