13

我一直在研究同样的问题,但我找不到和我一样的问题

我想在不声明大小的情况下创建一个数组,因为我不知道它会怎样!

为了解决这个问题,我想给你我正在寻找的代码

public class t
{
 private int x[];
 private int counter=0;
 public void add(int num)
 {
   this.x[this.counter] = num;
   this.counter++;
 }
}

如您所见,用户可以使用该add函数将元素添加到数组 10000 次或仅一次,因此它的大小未知

4

6 回答 6

13

使用 Java.util.ArrayList 或 LinkedList 是执行此操作的常用方法。据我所知,使用数组是不可能的。

例子:

List<Float> unindexedVectors = new ArrayList<Float>();

unindexedVectors.add(2.22f);

unindexedVectors.get(2);
于 2012-08-16T15:25:18.167 回答
10

您可能正在寻找List? 要么 要么LinkedListArrayList很好的课程来看看。然后,您可以调用toArray()以将列表作为数组获取。

于 2012-08-16T15:25:25.250 回答
3

正如其他人所说,使用ArrayList. 就是这样:

public class t
{
 private List<Integer> x = new ArrayList<Integer>();

 public void add(int num)
 {
   this.x.add(num);
 }
}

如您所见,您的add方法只是调用了ArrayListadd 方法。这仅在您的变量是私有的(它是私有的)时才有用。

于 2012-08-16T15:31:38.720 回答
3

一旦在运行程序时数组大小固定,它的大小就不能再改变了。所以在处理动态数组时最好选择 ArrayList。

于 2013-08-29T17:34:20.420 回答
3

这个怎么样

    private Object element[] = new Object[] {};
于 2014-08-28T09:40:50.113 回答
1

我认为您真正想要的是ArrayListVector。Java 中的数组与 Javascript 中的数组不同。

于 2012-08-16T15:26:12.840 回答