В процессе написания программ мы часто сталкиваемся с ситуациями, когда не хватает места для массива. Например, я инициализировал массив int [] a = {1,2,3,4,5,6,7,8,9,10}; В настоящее время я хочу вставить элемент в положение массива 3. Что мне делать? Слишком сложно реализовать на языке C. Вам нужно назвать функции Memcpy один за другим, но это не должно быть настолько неприятным в Java. Существует своего рода метод расширения, называемый массивами, который может быть легко реализован. Давайте посмотрим на код:
открытый класс helloworld {public static void main (string [] args) {// scanner s = новый сканер (System.in); // System.out.println («Пожалуйста, введите номер»); // int num = s.nextint (); // Этот абонент массива может достигать только 9 int [] a = {1,2,3,4,5,6,7,8,9,10}; // Extend int first int [] b = getarray (a, 3100); Demoe.printarray (b); } // case: массив был инициализирован, и теперь вставьте элемент 100 в свой индекс 3 public static int [] getarray (int [] a, int index, int num) {int src_array_length = a.length; int [] b = new int [src_array_length+1]; for (int i = 0; i <a.length; i ++) {b [i] = a [i]; } a = b; // Если вы хотите использовать A, сделайте точку B // Далее, начните с последнего элемента и скопируйте предыдущий элемент последнего элемента до последнего // и так далее (int i = a.length-1; i> index; i-) {a [i] = a [i-1]; } // Не забывайте, вставьте элемент, который будет вставлен в соответствующую координату массива a [index] = num; вернуть А; }}Вы также можете использовать библиотечные функции в Java для его реализации
импортировать java.util.arrays; открытый класс helloworld {public static void main (string [] args) {// scanner s = новый сканер (System.in); // System.out.println («Пожалуйста, введите номер»); // int num = s.nextint (); int [] a = {1,2,3,4,5}; int [] b = new int [a.length]; // 1, массив источника // 2, где запустить массив источника // 3, целевой массив // 4, где запустить целевой массив // 5, копировать несколько раз //system.arraycopy(a, 0, b, 0, a.length); //Demoe.printarray(b); // масштабирование ---> масштабирование удвоенное // a = arrays.copyof (a, 2*a.length); //Demoe.printarray(a); a = вставка (A, 3, 100); // print Array System.out.println (Arrays.tostring (a)); } // Напишите функцию для вставки элемента в любое положение POS в целочисленном массиве Public Static Int [] insertArray (int [] a, int pos, int value) {if (pos <0 || pos> a.length + 1) // Индексный индекс неверен, и массив исходной массив возвращается в возврат a; // Поместите элемент, сначала разверните емкость, а затем скопируйте a = arrays.copyof (a, a.length+1); for (int i = a.length-1; i> pos; i-) {a [i] = a [i-1]; // переместить назад} a [pos] = value; вернуть А; }}Результаты работы:
[1, 2, 3, 100, 4, 5]
Суммировать
Выше приведенное содержание этой статьи о коде экземпляра расширения Java Array, я надеюсь, что это будет полезно для всех. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!