Я задавался вопросом, как инициализировать целочисленный массив, таким образом, что это - размер и оценивает изменение посредством осуществления моей программы, каких-либо предложений?
Да: используйте ArrayList .
В Java «нормальные» массивы имеют фиксированный размер. Вы должны указать им размер и не можете их расширять или сжимать. Чтобы изменить размер, вам нужно создать новый массив и скопировать нужные данные, что неэффективно и причиняет вам боль.
К счастью, существуют всевозможные встроенные классы, реализующие общие структуры данных, а также другие полезные инструменты. Вы можете проверить API Java 6 , чтобы увидеть их полный список.
Одно предостережение: ArrayList может содержать только объекты (например, целые числа), но не примитивы (например, целые числа).В БОЛЬШИНСТВЕ случаев autoboxing / autounboxing позаботится об этом за вас незаметно, но вы можете получить странное поведение в зависимости от того, что вы делаете.
Вы не можете изменить размер массива. Однако вы можете создать новый массив нужного размера и скопировать данные из старого массива в новый.
Но лучше всего использовать IntList из jacarta commons. ( здесь )
Он работает так же, как List, но занимает меньше места и более эффективен, чем это, потому что он хранит int вместо хранения объектов оболочки над int (что и есть класс Integer).
Массивы в Java имеют фиксированный размер. Вам понадобится ArrayList, одна из очень ценных коллекций, доступных в Java.
Вместо
Integer[] ints = new Integer[x]
вы используете
List<Integer> ints = new ArrayList<Integer>();
Затем для изменения списка вы используете ints.add (y)
и ints.remove (z)
среди многих других удобных методов вы можете найти в соответствующей документации Javadocs.
Я настоятельно рекомендую изучить классы коллекций, доступные в Java, поскольку они очень мощные и дают вам множество встроенных функций, которые новички в Java склонны без надобности пытаться переписать.
Как насчет использования списка
вместо этого? Например, ArrayList
После создания массива массивы имеют фиксированный размер. Вместо этого вы можете использовать список.
Autoboxing делает список пригодным для использования, как массив, вы можете просто поместить в него int-значения:
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);