Java HashMap:仅获取最后插入的项

Java HashMap:仅获取最后插入的项,java,android,json,hashmap,Java,Android,Json,Hashmap,我正在尝试使用以下方法迭代hashmap: public HashMap<String,String> getDj(){ try { HashMap<String,String> getDjname = new HashMap<String,String>(); JSONArray dj_listArray = mJsonObject.getJSONArray("dj_list"); for (int

我正在尝试使用以下方法迭代hashmap:

public HashMap<String,String> getDj(){

    try {
        HashMap<String,String> getDjname = new HashMap<String,String>();
        JSONArray dj_listArray = mJsonObject.getJSONArray("dj_list");
        for (int i = 0; i < dj_listArray.length(); i++) {
            JSONObject getDjsched = dj_listArray.getJSONObject(i);
            getDjname.put("host_name", getDjsched.getString("host_name"));
            getDjname.put("host_image_url", getDjsched.getString("host_image_url"));
            getDjname.put("host_info_url", getDjsched.getString("host_info_url"));

       }
        Log.e("djlist",""+getDjname);

        return getDjname;


    } catch (JSONException e) {
        e.printStackTrace();
    }
    return null;

}

但问题是,它不会迭代。它只获取最后一项,只显示一项

Hashmap只能对一个键保存一个值。每次迭代时,都会用该键的新值替换以前的值

你可以考虑使用哈希图列表。如果需要多个值

创建自定义类/模型以保存数据

HashMap getDjname=新HashMap; 以独特价值为核心,以整体模式为价值

检查以下代码段:

JSONArray dj_listArray = mJsonObject.getJSONArray("dj_list");
for (int i = 0; i < dj_listArray.length(); i++) {
    CustomModel model = new CustomModel();
    JSONObject getDjsched = dj_listArray.getJSONObject(i);
    model.host_name = getDjsched.getString("host_name");
    model.host_image_url =getDjsched.getString("host_image_url");
    model.host_info_url= getDjsched.getString("host_info_url"));
    getDjname.put(i, model);
}

好吧,你打给setText。。。正如名字所说,它设置了文本。如果你再叫它一次会发生什么?对,它将内容设置为不同的文本,并删除上一个文本。因为没有文本可以代替最后一个,所以它是唯一剩下的文本。啊,我明白了!谢谢,我会试试这个。如果这个答案帮助你解决问题,请接受它作为答案:
JSONArray dj_listArray = mJsonObject.getJSONArray("dj_list");
for (int i = 0; i < dj_listArray.length(); i++) {
    CustomModel model = new CustomModel();
    JSONObject getDjsched = dj_listArray.getJSONObject(i);
    model.host_name = getDjsched.getString("host_name");
    model.host_image_url =getDjsched.getString("host_image_url");
    model.host_info_url= getDjsched.getString("host_info_url"));
    getDjname.put(i, model);
}