Вы можете создать другой массив или другую базовую структуру для временного хранения элементов.Переместите элементы перед элементом n в него, отодвиньте эти элементы назад и нажмите на элемент, который вы хотите поместить поверх этого.
public class MyStack<T> {
T items[size];
....
void moveToTop(int n)
{
T obj = items[n];
T[] tempItems = new T[n - 1];
Arrays.copyOf(items, n - 1);
System.arraycopy(items, 0, tempItems, 0, n - 1);
System.arraycopy(tempItems, 0, items, 1, n - 1);
items[0] = obj;
}
....
}
Для краткости удалены другие части.Вместо того, чтобы делать все это, вы можете проверить список с двумя ссылками или список пропусков.