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

时间:2011-07-06 20:00:33

标签: java arraylist hashmap

我正在处理一段有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,因此我想要删除内容,但它不起作用。

任何方式来解决这个问题。

谢谢,

斯瓦特

1 个答案:

答案 0 :(得分:2)

你要做的只是创建和填充一个arraylist,然后你将arraylist链接到hashmap ...所以现在你有一个arraylist链接。一个在hashmap中被称为'elements'。然后你删除你的arraylist中的所有元素。因为你会失去一切。所以现在你仍然有两个链接,但是空的arraylist