/
Вопросы и ответы
/
Java
/

Как изменить размер массива java

Как изменить размер массива java

4 года назад

Человек-Молекула

Ответы

0

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

// Инициализируем массив с 10 элементами
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

// Создаем новый массив с 16 элементами
int[] newArr = new int[arr.length * 3 / 2 + 1];

// Указываем исходный массив, начало позиции для копирования,
// новый массив, позицию для вставки и количество копируемых элементов
System.arraycopy(arr, 0, newArr, 0, arr.length);

// Свободные ячейки автоматически заполняются нулями
System.out.println(Arrays.toString(newArr)); // => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 0, 0, 0, 0, 0]

3 года назад

Никита Сысоев