如何在不创建嵌入式数组的情况下添加到arraylist

时间:2016-06-10 20:58:41

标签: java arrays arraylist objectinputstream

我知道arraylist有一个.add()方法,但出于某种原因,每当我添加到我的prexisting arraylist时,我最终得到一个嵌入式数组....我有一个返回objectInputstream的方法,可能是一个或多个对象,根据条件,我想添加它并将其呈现给用户,但是,它将objectInputstream嵌入为数组。

例如:

[item1, item2, item3, item4]

它一直这样。我更喜欢它更像是这样:

{{1}}

2 个答案:

答案 0 :(得分:1)

问题是,您使用ArrayList.add()方法而不是ArrayList.addAll()方法。 add()方法将传递给该列表的对象添加到addAll采集集合的位置,并将该集合中的每个元素添加到列表中 - 这就是您想要的。

需要注意的另一个问题是,您可能没有使用泛型。这本可以完全避免这个错误。

我在此online Java compiler IDE中为您提供了示例代码。

作为旁注,将来在提出编程问题时,请在相关代码中嵌入一小部分相关代码,如codivaideone,以帮助那些想要回答的人。

答案 1 :(得分:-1)

请出示您的代码。另外,请运行此代码以查看应如何向数组添加值。

import java.util.ArrayList;

public class myArrayList {
   public static void main(String[] args) {

   ArrayList<Integer> arrlist = new ArrayList<Integer>(4);

   arrlist.add(4);
   arrlist.add(9);
   arrlist.add(34);
   arrlist.add(42);


   for (Integer number : arrlist) {
   System.out.println("Number = " + number);
   }  
   }
} 

这是http://www.tutorialspoint.com/java/util/arraylist_add_index.htm

的示例