首页 > 解决方案 > 如何获取 Arraylist 中的 Hashmap 值

问题描述

我有这样结构的数据(参见代码)。

public ArrayList<HashMap<String, String>> GetUsers(String Query) {
    ArrayList<HashMap<String, String>> userList = new ArrayList();
    try {
        ResultSet rs = stmt.executeQuery(Query);
        while (rs.next()) {
            HashMap<String, String> user = new HashMap();
            user.put("hotelid", rs.getString(COLUMN_HotelID));
            user.put("countery", rs.getString(COLUMN_Countery));
            user.put("city", rs.getString(COLUMN_CITY));
            user.put("hotelname", rs.getString(COLUMN_HOTELNAME));
            user.put("startdate", rs.getString(COLUMN_STARTDATE));
            user.put("enddate", rs.getString(COLUMN_ENDDATE));
            userList.add(user);
        }
    } catch (SQLException ex) {
        Logger.getLogger(SQLiteJDBC.class.getName()).log(Level.SEVERE, null, 
    }
    return userList;
}

每次我遍历数组列表时,我都会得到如下值:

for (int i = 0; i < userList.size(); i++) {
    System.out.println(userList.get(i));
}

{enddate=6/6/2019, city=karak, hotelid=11, startdate=4/22/2019, countery=jordan, hotelname=Dalallah}

我想以不同的方式打印值,例如选择我要打印的值。

标签: javadictionaryarraylisthashmap

解决方案


从列表中获取元素后,您可以对其执行任何方法,例如Map#get. 因此,例如,如果您想打印所有酒店名称:

for (int i = 0; i < userList.size(); i++) {
     System.out.println(userList.get(i).get("hotelname");
     // Here --------------------------^
}

推荐阅读