繁体   English   中英

无法从使用 arraylist 作为值的 hashmap 获取值已清除

[英]Unable to get values from a hashmap which uses a arraylist as value is cleared

我正在研究一段代码,它有一个 Hashmap。 这个 hashmap 有一个字符串作为键和一个 arraylist 作为值。 我填充 arraylist,然后将值放入 hashmap。 输入值后,我想清除 arraylist 以便不存在旧值。

请看下面的代码:

ArrayList<Bean> elements = new ArrayList<Bean>();

        for(int j=0; j<array.length; j++){
            String[] id = {"2439","70212","9021","0104","0255","10353","3889","8990","10277"};
            String[] Title = {"Gulliver","Good=Guys","Gnomeo","Gene","ABCD","High","Green=Lantern","Gnomeo2","WXYZ"};
            for(int i=0; i<id.length; i++){
                Bean bean = new bean();
                bean.ID(id[i]);
                bean.Title(title[i]);
                elements.add(bean);
            }
            udbResults.put(array[j], elements);
            elements.clear();
        }

现在,当我尝试从 hashmap 打印值时,我没有得到任何内容。 这可能是因为 arraylist.clear()。 为什么会这样?

此外,我不想为每个数据创建新的 arraylist,因此我想删除内容但它不起作用。

go 关于此的任何方式。

谢谢,

斯瓦蒂

what you r doing is simply createing and populating an arraylist, then you are puting a link to arraylist into hashmap...so now you have 2 links for one arraylist. 一个在 hashmap 中被称为“元素”。 然后你 r 从你的 arraylist 中删除所有元素。 因为你会失去一切。 所以现在你仍然有两个链接,但指向空的 arraylist

暂无
暂无

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

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