【发布时间】:2015-04-03 14:04:38
【问题描述】:
java.util.ArrayDeque类中addFirst方法的代码是
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,tail 为 9(数组已满)。在这种情况下,将在什么索引系统上进行插入? (我的理解是:如果数组满了,先增加它的大小,然后在arraySize()-1索引中插入。)
【问题讨论】:
-
我也有同样的疑问 :)
标签: java arraydeque