繁体   English   中英

我的Hashmap对象值列表对象仅返回我放在ArrayList中的最后一个对象 <Map<String,Object> &gt;&gt;();

[英]My Hashmap object value list object return only last object i was put in ArrayList<Map<String,Object>>>();

这是我的详细说明代码。 我得到Hashmapis的大小确定。 但是当我尝试使用键获取ArrayList<Map<String, Object>>> ,所有ArryList的大小均为1。

private ArrayList<Map<String, Object>> settingInObject;
private ArrayList<Map<String, Object>> parentItemList;
private HashMap<String, ArrayList<Map<String, Object>>> childItemList;

settingInObject = new ArrayList<>();
parentItemList = new ArrayList<>();
childItemList = new HashMap<String, ArrayList<Map<String,Object>>>();


   ArrayList<Map<String, Object>> arrayList = new ArrayList<Map<String, Object>>();
    for (Map<String, Object> objectMap : settingInObject) {
        if (objectMap.get("IsCheked").toString().equals("1")) {
            if (arrayList.size() > 0) {
                childItemList.put(parentItemList.get(parentItemList.size()).get("TitleDesc").toString().trim(), arrayList);
                arrayList.clear();
            }
            parentItemList.add(objectMap);
        } else {
            arrayList.add(objectMap);
        }
    }

我在做错什么吗?

你在打电话

arrayList.clear();

而在arayList下,您仍然引用添加的对象-结果您正在清除已放入地图中的列表

如果要在arrayList有新的空列表, arrayList需要重新实例化

arrayList = new ArrayList<Map<String, Object>>();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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