问题
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