Как об этом:
int[] myArray = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
System.arraycopy(myArray, 5, myArray, 4, 5);
myArray[myArray.length-1] = 4;
В приведенном выше коде, я использую метод arraycopy, чтобы скопировать диапазон 5 числа, начинающиеся с индекса 5, до индекса 4 в массиве, а затем просто установите 4 в последней позиции.
Обратите внимание, что использование arraycopy
происходит намного быстрее, чем копирование значений в цикле, поскольку оно обычно реализуется как собственная операция, которая копирует позиции памяти.
EDIT:
Более общее решение, способ для отправки на спину заданной позиции в массиве:
public static void sendBack(int[] array, int idx) {
int value = array[idx];
System.arraycopy(array, idx+1, array, idx, array.length-idx-1);
array[array.length-1] = value;
}
Для примера, назовем его так:
sendBack(myArray, 4);
// now myArray is {0, 1, 2, 3, 5, 6, 7, 8, 9, 4}
это быстро? – Gevorg