Trong lớp Collection Java, tôi đã nhận thấy rất thường xuyên mã như dưới đâyLàm cách nào và toán tử bit hoạt động ở đây?
//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;
}
không head = (h + 1) & (elements.length - 1);
làm gì? Tại sao là & nhà điều hành được sử dụng tại đây và mục đích của nó là gì.
Câu hỏi của tôi không phải là cách hoạt động của &, nhưng việc sử dụng nó ở đây là gì.
Có ai giải thích được không?
Tôi đã chọn, độ dài mảng mặc định được đặt thành 16 và được tăng gấp đôi khi đầy. Cảm ơn – Roshan