在Java集合类,我注意到很多时候像下面&位操作符在这里如何工作?
//ArrayDeque
public E pollFirst() {
int h = head;
@SuppressWarnings("unchecked")
E result = (E) elements[h];
// Element is null if deque empty
if (result == null)
return null;
elements[h] = null; // Must null out slot
head = (h + 1) & (elements.length - 1);
return result;
}
是什么head = (h + 1) & (elements.length - 1);
做代码? 为什么&运营商在这里使用,它的目的是什么。
我的问题不是如何&的作品,但它有什么用处。
任何人都可以解释它吗?
我选中了,默认数组长度设置为16,满时为2倍。谢谢 – Roshan