Шифр метода AddFirst в классе java.util.ArrayDeque являетсяAddFirst метод ArrayDeque класса
public void addFirst(E e) {
if (e == null)
throw new NullPointerException();
elements[head = (head - 1) & (elements.length - 1)] = e;
if (head == tail)
doubleCapacity();
}
Здесь, я не в состоянии понять смысл
head = (head - 1) & (elements.length - 1)
Предположим также, если размер массива равен 10. head находится в 0, а хвост - в 9 (массив заполнен). В этом случае, в какой индексной системе будет выполняться вставка? (Мое понимание: если массив заполнен, сначала увеличьте его размер, а затем вставьте в индекс массива() - 1.)
У меня было такое же сомнение :) – meexplorer