Java 当值被清除时,无法从使用arraylist的hashmap中获取值

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 =

我正在编写一段代码,它有一个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();
        }
ArrayList元素=新的ArrayList();

对于(int j=0;j您所做的只是创建并填充一个arraylist,然后将指向arraylist的链接放入hashmap中…所以现在一个arraylist有两个链接。一个在hashmap中称为“elements”,另一个在hashmap中称为“elements”。然后您将从arraylist中删除所有元素。因为您将丢失所有内容。所以现在您仍然有两个链接t指向空的arraylist