W klasach Collection Java, zauważyłem bardzo często kody jak poniżejJak działa tutaj i bitowy operator?
//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;
}
Co head = (h + 1) & (elements.length - 1);
zrobić? Dlaczego używany jest operator & i jaki jest jego cel.
Moje pytanie nie brzmi, jak działa &, ale jakie jest jego zastosowanie.
Czy ktoś może to wyjaśnić?
Sprawdziłem, domyślna długość tablicy jest ustawiona na 16 i jest podwojona, gdy jest pełna. Dzięki – Roshan