在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