簡體   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