/** Reduces the size of the backing array to the size of the actual items. This is useful to release memory when many items * have been removed, or if it is known that more items will not be added. * @return {@link #items} */ public int[] shrink () { if (items.length != size) resize(size); return items; }
/** Reduces the size of the backing array to the size of the actual items. This is useful to release memory when many items * have been removed, or if it is known that more items will not be added. * @return {@link #items} */ public int[] shrink () { if (items.length != size) resize(size); return items; }
public void add (int value1, int value2, int value3, int value4) { int[] items = this.items; if (size + 3 >= items.length) items = resize(Math.max(8, (int)(size * 1.8f))); // 1.75 isn't enough when size=5. items[size] = value1; items[size + 1] = value2; items[size + 2] = value3; items[size + 3] = value4; size += 4; }
public void add (int value) { int[] items = this.items; if (size == items.length) items = resize(Math.max(8, (int)(size * 1.75f))); items[size++] = value; }
public void add (int value1, int value2, int value3, int value4) { int[] items = this.items; if (size + 3 >= items.length) items = resize(Math.max(8, (int)(size * 1.8f))); // 1.75 isn't enough when size=5. items[size] = value1; items[size + 1] = value2; items[size + 2] = value3; items[size + 3] = value4; size += 4; }
public void add (int value1, int value2, int value3) { int[] items = this.items; if (size + 2 >= items.length) items = resize(Math.max(8, (int)(size * 1.75f))); items[size] = value1; items[size + 1] = value2; items[size + 2] = value3; size += 3; }
public void add (int value) { int[] items = this.items; if (size == items.length) items = resize(Math.max(8, (int)(size * 1.75f))); items[size++] = value; }
public void add (int value1, int value2, int value3) { int[] items = this.items; if (size + 2 >= items.length) items = resize(Math.max(8, (int)(size * 1.75f))); items[size] = value1; items[size + 1] = value2; items[size + 2] = value3; size += 3; }
public void add (int value1, int value2) { int[] items = this.items; if (size + 1 >= items.length) items = resize(Math.max(8, (int)(size * 1.75f))); items[size] = value1; items[size + 1] = value2; size += 2; }
public void add (int value1, int value2) { int[] items = this.items; if (size + 1 >= items.length) items = resize(Math.max(8, (int)(size * 1.75f))); items[size] = value1; items[size + 1] = value2; size += 2; }
/** Increases the size of the backing array to accommodate the specified number of additional items. Useful before adding many * items to avoid multiple backing array resizes. * @return {@link #items} */ public int[] ensureCapacity (int additionalCapacity) { if (additionalCapacity < 0) throw new IllegalArgumentException("additionalCapacity must be >= 0: " + additionalCapacity); int sizeNeeded = size + additionalCapacity; if (sizeNeeded > items.length) resize(Math.max(8, sizeNeeded)); return items; }
/** Increases the size of the backing array to accommodate the specified number of additional items. Useful before adding many * items to avoid multiple backing array resizes. * @return {@link #items} */ public int[] ensureCapacity (int additionalCapacity) { if (additionalCapacity < 0) throw new IllegalArgumentException("additionalCapacity must be >= 0: " + additionalCapacity); int sizeNeeded = size + additionalCapacity; if (sizeNeeded > items.length) resize(Math.max(8, sizeNeeded)); return items; }
public void addAll (int[] array, int offset, int length) { int[] items = this.items; int sizeNeeded = size + length; if (sizeNeeded > items.length) items = resize(Math.max(8, (int)(sizeNeeded * 1.75f))); System.arraycopy(array, offset, items, size, length); size += length; }
/** Sets the array size, leaving any values beyond the current size undefined. * @return {@link #items} */ public int[] setSize (int newSize) { if (newSize < 0) throw new IllegalArgumentException("newSize must be >= 0: " + newSize); if (newSize > items.length) resize(Math.max(8, newSize)); size = newSize; return items; }
/** Sets the array size, leaving any values beyond the current size undefined. * @return {@link #items} */ public int[] setSize (int newSize) { if (newSize < 0) throw new IllegalArgumentException("newSize must be >= 0: " + newSize); if (newSize > items.length) resize(Math.max(8, newSize)); size = newSize; return items; }
public void addAll (int[] array, int offset, int length) { int[] items = this.items; int sizeNeeded = size + length; if (sizeNeeded > items.length) items = resize(Math.max(8, (int)(sizeNeeded * 1.75f))); System.arraycopy(array, offset, items, size, length); size += length; }
public void insert (int index, int value) { if (index > size) throw new IndexOutOfBoundsException("index can't be > size: " + index + " > " + size); int[] items = this.items; if (size == items.length) items = resize(Math.max(8, (int)(size * 1.75f))); if (ordered) System.arraycopy(items, index, items, index + 1, size - index); else items[size] = items[index]; size++; items[index] = value; }
public void insert (int index, int value) { if (index > size) throw new IndexOutOfBoundsException("index can't be > size: " + index + " > " + size); int[] items = this.items; if (size == items.length) items = resize(Math.max(8, (int)(size * 1.75f))); if (ordered) System.arraycopy(items, index, items, index + 1, size - index); else items[size] = items[index]; size++; items[index] = value; }
public void add (int value) { int[] items = this.items; if (size == items.length) items = resize(Math.max(8, (int)(size * 1.75f))); items[size++] = value; }
public void insert (int index, int value) { if (index > size) throw new IndexOutOfBoundsException("index can't be > size: " + index + " > " + size); int[] items = this.items; if (size == items.length) items = resize(Math.max(8, (int)(size * 1.75f))); if (ordered) System.arraycopy(items, index, items, index + 1, size - index); else items[size] = items[index]; size++; items[index] = value; }