Java 连接多个ArrayList引用
因此,我有3个名为Java 连接多个ArrayList引用,java,arraylist,reference,Java,Arraylist,Reference,因此,我有3个名为书籍,报纸,杂志的数组列表,还有一个名为资源的数组列表 如果你这样做:resources=books然后资源将指向与书籍相同的内存位置 但是,如何将其他两个ArrayList的开头添加到该资源中,使资源包含所有ArrayList?类似于ArrayList内存引用的串联 如果您希望书籍、报纸和杂志的元素ArrayLists将出现在一个ArrayListresources中,则可以使用ArrayList.addAll(Collection)函数:将指定集合中的所有元素追加到此列表的
书籍
,报纸
,杂志
的数组列表,还有一个名为资源
的数组列表
如果你这样做:resources=books代码>然后资源将指向与书籍相同的内存位置
但是,如何将其他两个ArrayList的开头添加到该资源中,使资源包含所有ArrayList?类似于ArrayList内存引用的串联
如果您希望书籍、报纸和杂志的元素ArrayLists
将出现在一个ArrayList
resources
中,则可以使用ArrayList.addAll(Collection)
函数:将指定集合中的所有元素追加到此列表的末尾,按照指定集合的迭代器返回它们的顺序
resources.addAll(book);
resources.addAll(newspaper);
resource.addAll(magazine);
您想创建一个ArrayList
,它将包含ArrayLists as元素:
ArrayList<ArrayList<String>>resources = new ArrayList<>();
resources.add(book);
resources.add(newspaper);
resources.add(magazine);
如果报纸和书籍的类型不同,你真的不能将不同的类型粘在一起,除非它们共享一个共同的故事。你能分享一些初始化你的ArrayList的代码吗…ArrayList books=new ArrayList();ArrayList杂志=新建ArrayList();ArrayList=新的ArrayList()实际上,我有一个名为Resource
的抽象类和三个扩展类Book
,paper
,Magazine
。我需要一种有效的方法来遍历所有数组。这种方法会消耗不必要的内存。哪种方法?我想我已经提到了三种方法。我看不出其中任何一个会不必要地消耗内存,至少是最后两个,因为它们会将数组列表保存为具有相同引用的元素。您对外部数组列表所做的任何更改,例如book
,都将反映在添加到参考资料或HashMap实现的ArrayList中。试试最后两个
HashMap<String, ArrayList<String>>resources = new HashMap<>();
// replace String with the type of the elements of book\newspaper\magazine
resources.put("book", book);
resources.put("newspaper", newspaper);
resources.put("magazine", magazine);