Java 当值被清除时,无法从使用arraylist的hashmap中获取值
我正在编写一段代码,它有一个Hashmap。此hashmap的键为字符串,值为arraylist。我填充arraylist,然后将值放入hashmap。在输入值之后,我想清除arraylist,这样就不会出现旧值 请参阅以下代码:Java 当值被清除时,无法从使用arraylist的hashmap中获取值,java,arraylist,hashmap,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 =
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();
}
ArrayList元素=新的ArrayList();
对于(int j=0;j您所做的只是创建并填充一个arraylist,然后将指向arraylist的链接放入hashmap中…所以现在一个arraylist有两个链接。一个在hashmap中称为“elements”,另一个在hashmap中称为“elements”。然后您将从arraylist中删除所有元素。因为您将丢失所有内容。所以现在您仍然有两个链接t指向空的arraylist