所以我有3个arraylists,例如books
,newspapers
,magazines
和一个名为resources
的arraylist。
如果您执行以下操作:resources = books;
,则资源将指向与书籍相同的内存位置。
但是如何在其他两个arraylists的开头结束时添加到resources
,以便资源包含所有的arraylists?像arraylists的串联记忆参考。
答案 0 :(得分:1)
如果您希望书籍,报纸和杂志ArrayLists
的元素显示在一个ArrayList
resources
中,那么您可以使用ArrayList.addAll(Collection)
功能:将指定集合中的所有元素按指定集合的迭代器返回的顺序附加到此列表的末尾。
resources.addAll(book);
resources.addAll(newspaper);
resource.addAll(magazine);
您想要创建一个ArrayList
,其中包含ArrayLists作为元素:
ArrayList<ArrayList<String>>resources = new ArrayList<>();
resources.add(book);
resources.add(newspaper);
resources.add(magazine);
假设书籍,杂志和报纸ArrayLists
的类型为ArrayList<String>
。但是,如果第二个是您的目标,那么我认为将资源声明为HashMap<String, ArrayList<String>>
会更好。
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);