gpt4 book ai didi

java - 我的 Hashmap 对象值列表对象只返回我放在 ArrayList>>() 中的最后一个对象;

转载 作者:搜寻专家 更新时间:2023-11-01 07:45:42 25 4
gpt4 key购买 nike

这是我的详细描述代码。我得到 Hashmap 的大小没问题。但是当我尝试获取 ArrayList<Map<String, Object>>>使用 key,所有 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 下你仍然引用添加的对象 - 结果你正在清除已经放在 map 中的列表

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

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

关于java - 我的 Hashmap 对象值列表对象只返回我放在 ArrayList<Map<String,Object>>>() 中的最后一个对象;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44845645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com