连接多个arraylists引用

时间:2013-11-16 17:24:27

标签: java arraylist reference

所以我有3个arraylists,例如booksnewspapersmagazines和一个名为resources的arraylist。

如果您执行以下操作:resources = books;,则资源将指向与书籍相同的内存位置。

但是如何在其他两个arraylists的开头结束时添加到resources,以便资源包含所有的arraylists?像arraylists的串联记忆参考。

1 个答案:

答案 0 :(得分:1)

  1. 如果您希望书籍,报纸和杂志ArrayLists的元素显示在一个ArrayList resources中,那么您可以使用ArrayList.addAll(Collection)功能:将指定集合中的所有元素按指定集合的​​迭代器返回的顺序附加到此列表的末尾。

    resources.addAll(book);
    resources.addAll(newspaper);
    resource.addAll(magazine);
    
  2. 您想要创建一个ArrayList,其中包含ArrayLists作为元素:

     ArrayList<ArrayList<String>>resources = new ArrayList<>();
     resources.add(book);
     resources.add(newspaper);
     resources.add(magazine);
    
  3. 假设书籍,杂志和报纸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);