我正在处理一段有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,因此我想要删除内容,但它不起作用。
任何方式来解决这个问题。
谢谢,
斯瓦特
答案 0 :(得分:2)
你要做的只是创建和填充一个arraylist,然后你将arraylist链接到hashmap ...所以现在你有一个arraylist链接。一个在hashmap中被称为'elements'。然后你删除你的arraylist中的所有元素。因为你会失去一切。所以现在你仍然有两个链接,但是空的arraylist