Вы не можете.При инициализации массива вы должны указать его размер.Так что, если вы не знаете размер, вы можете либо объявить массив с очень большим размером и надеяться, что все в него поместится (со всеми связанными недостатками, такими как накладные расходы памяти, массив. Длина, которая становится совершенно бесполезной, ...).Или вы можете использовать ArrayList
, который использует массив внутри, но достаточно умен, чтобы увеличить его размер, когда это необходимо.
Вы также можете достичь этого, используя массивы, копируя ваш массив в другой больший массив, когданеобходимо, но тогда вы в основном переписываете ArrayList
.
. Если вам потребуется позже преобразовать список обратно в массив, вы можете использовать метод toArray
РЕДАКТИРОВАТЬ:
небольшое обновление на основе дополнительной информации в вопросе.Если вам нужно преобразовать ArrayList<Integer[]>
в одномерный массив, вы можете использовать следующие шаги
- Создать новый
ArrayList<Integer>
- Цикл по существующему списку (который содержит
Integer[]
) и используйте метод Collections#addAll
, чтобы добавить все элементы массива в новый список - Преобразовать список в массив с помощью метода
toArray