Я начну с того, что я совершенно новичок в обозначениях Big-O. Но, насколько я понимаю, мой метод не O (1). Я обязан сделать это O (1), в любом случае, чтобы сделать это?
Функция моего метода - переместить элементы массива вниз на один, чтобы можно было изменить элемент [0].
Я только что попытался изменить ситуацию, но не могу придумать, как это сделать, не используя array.length (что, как мне кажется, делает O (n).
@Override
public Object enqueueFront(Object element) {
expandCapacity();
for (int i = elementData.length - 1; i > 0; i--) {
elementData[i] = elementData[i - 1];
}
return elementData[0] = element;
}
Я ожидаю, что метод сделает current = current - 1 (см. Код для более подробной информации), чтобы новый элемент мог быть добавлен к первому элементу в массиве без удаления какой-либо информации из текущего массива.