Как изменить размер массива java
Ответы
Никита Сысоев
10 октября 2022
В 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]
0
0