создание массива без объявления размера-java

я копался вокруг той же проблемы, но я не мог найти то же самое, что у меня было

Я хочу создать массив без указания размера, потому что я не знаю, как это будет !

чтобы устранить проблему, я хотел бы дать вам код, который я ищу

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

Как видите, пользователь может использовать add функция для добавления элемента в массив 10000 раз или только один раз, так что это неизвестный размер

6 ответов


Использование Java.утиль.ArrayList или LinkedList-это обычный способ сделать это. С массивами это невозможно, как я знаю.

пример:

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

unindexedVectors.add(2.22f);

unindexedVectors.get(2);

возможно, вы ищете List? Либо LinkedList или ArrayList хорошие классы, чтобы взглянуть на. Затем вы можете позвонить toArray() чтобы получить список в виде массива.


как говорили другие, используйте ArrayList. Вот как:

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

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

как вы можете видеть, ваш add метод просто называет ArrayList ' s добавить метод. Это полезно, только если ваша переменная является частной (что и есть).


Как только размер массива фиксируется при запуске программы ,его размер не может быть изменен дальше. Поэтому лучше пойти на ArrayList, имея дело с динамическими массивами.


Как насчет этого

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

Я думаю, что вы действительно хотите это ArrayList или вектор. Массивы в Java не похожи на массивы в Javascript.