protected void grow() { int newSize = (int) (elements.length * 1.5); Object[] newElements = new Object[newSize]; if (tail >= head) System.arraycopy(elements, head, newElements, head, size()); else { int newHead = newSize - (elements.length - head); System.arraycopy(elements, 0, newElements, 0, tail + 1); System.arraycopy(elements, head, newElements, newHead, (newSize - newHead)); head = newHead; } elements = newElements; }
protected void grow() { int newSize = (int) (elements.length * 1.5); Object[] newElements = new Object[newSize]; if (tail >= head) System.arraycopy(elements, head, newElements, head, size()); else { int newHead = newSize - (elements.length - head); System.arraycopy(elements, 0, newElements, 0, tail + 1); System.arraycopy(elements, head, newElements, newHead, (newSize - newHead)); head = newHead; } elements = newElements; }
protected void grow() { int newSize = (int) (elements.length * 1.5); Object[] newElements = new Object[newSize]; if (tail >= head) System.arraycopy(elements, head, newElements, head, size()); else { int newHead = newSize - (elements.length - head); System.arraycopy(elements, 0, newElements, 0, tail + 1); System.arraycopy(elements, head, newElements, newHead, (newSize - newHead)); head = newHead; } elements = newElements; }
protected void grow() { int newSize = (int) (elements.length * 1.5); Object[] newElements = new Object[newSize]; if (tail >= head) System.arraycopy(elements, head, newElements, head, size()); else { int newHead = newSize - (elements.length - head); System.arraycopy(elements, 0, newElements, 0, tail + 1); System.arraycopy(elements, head, newElements, newHead, (newSize - newHead)); head = newHead; } elements = newElements; }
public Iterator elements() { /**/ if (isEmpty()) return new ArrayList(0).iterator(); /* if head < tail we can use the same array */ if (head <= tail) return Arrays.asList(elements).iterator(); /* otherwise we need to create a new array */ Object[] newElements = new Object[size()]; int end = (elements.length - head); System.arraycopy(elements, head, newElements, 0, end); System.arraycopy(elements, 0, newElements, end, tail); return Arrays.asList(newElements).iterator(); }
public Iterator elements() { /**/ if (isEmpty()) return new ArrayList(0).iterator(); /* if head < tail we can use the same array */ if (head <= tail) return Arrays.asList(elements).iterator(); /* otherwise we need to create a new array */ Object[] newElements = new Object[size()]; int end = (elements.length - head); System.arraycopy(elements, head, newElements, 0, end); System.arraycopy(elements, 0, newElements, end, tail); return Arrays.asList(newElements).iterator(); }
public Iterator elements() { /**/ if (isEmpty()) return new ArrayList(0).iterator(); /* if head < tail we can use the same array */ if (head <= tail) return Arrays.asList(elements).iterator(); /* otherwise we need to create a new array */ Object[] newElements = new Object[size()]; int end = (elements.length - head); System.arraycopy(elements, head, newElements, 0, end); System.arraycopy(elements, 0, newElements, end, tail); return Arrays.asList(newElements).iterator(); }
public Iterator elements() { /**/ if (isEmpty()) return new ArrayList(0).iterator(); /* if head < tail we can use the same array */ if (head <= tail) return Arrays.asList(elements).iterator(); /* otherwise we need to create a new array */ Object[] newElements = new Object[size()]; int end = (elements.length - head); System.arraycopy(elements, head, newElements, 0, end); System.arraycopy(elements, 0, newElements, end, tail); return Arrays.asList(newElements).iterator(); }