creating array without declaring the size - java

隐身守侯 提交于 2019-11-27 11:20:36

问题


i've digging around about the same issue but i couldn't find the same as i had

i want to create an array without declaring the size because i don't know how it will be !

to clear the issue i'd like to give you the code that i'm looking up for

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

as you see the user could use the add function to add element to the array 10000 times or only once so it's unknown size


回答1:


Using Java.util.ArrayList or LinkedList is the usual way of doing this. With arrays that's not possible as I know.

Example:

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

unindexedVectors.add(2.22f);

unindexedVectors.get(2);



回答2:


You might be looking for a List? Either LinkedList or ArrayList are good classes to take a look at. You can then call toArray() to get the list as an array.




回答3:


As others have said, use ArrayList. Here's how:

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

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

As you can see, your add method just calls the ArrayList's add method. This is only useful if your variable is private (which it is).




回答4:


Once the array size is fixed while running the program ,it's size can't be changed further. So better go for ArrayList while dealing with dynamic arrays.




回答5:


How about this

    private Object element[] = new Object[] {};



回答6:


I think what you really want is an ArrayList or Vector. Arrays in Java are not like those in Javascript.



来源:https://stackoverflow.com/questions/11990514/creating-array-without-declaring-the-size-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!