Sha256: 530ffc9f4d7461c7fd8c27e3ffd7ebb0295fe4e12909434b048e2502a18fb1ba

Contents?: true

Size: 1.72 KB

Versions: 6

Compression:

Stored size: 1.72 KB

Contents

package org.sunflow.util;

public final class IntArray {

    private int[] array;
    private int size;

    public IntArray() {
        array = new int[10];
        size = 0;
    }

    public IntArray(int capacity) {
        array = new int[capacity];
        size = 0;
    }

    /**
     * Append an integer to the end of the array.
     *
     * @param i
     */
    public final void add(int i) {
        if (size == array.length) {
            int[] oldArray = array;
            array = new int[(size * 3) / 2 + 1];
            System.arraycopy(oldArray, 0, array, 0, size);
        }
        array[size] = i;
        size++;
    }

    /**
     * Write a value to the specified index. Assumes the array is already big
     * enough.
     *
     * @param index
     * @param value
     */
    public final void set(int index, int value) {
        array[index] = value;
    }

    /**
     * Read value from the array.
     *
     * @param index index into the array
     * @return value at the specified index
     */
    public final int get(int index) {
        return array[index];
    }

    /**
     * Returns the number of elements added to the array.
     *
     * @return current size of the array
     */
    public final int getSize() {
        return size;
    }

    /**
     * Return a copy of the array, trimmed to fit the size of its contents
     * exactly.
     *
     * @return a new array of exactly the right length
     */
    public final int[] trim() {
        if (size < array.length) {
            int[] oldArray = array;
            array = new int[size];
            System.arraycopy(oldArray, 0, array, 0, size);
        }
        return array;
    }
}

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
joonsrenderer-1.3.1-java src/main/java/org/sunflow/util/IntArray.java
joonsrenderer-1.2.0-java src/main/java/org/sunflow/util/IntArray.java
joonsrenderer-1.1.3-java src/main/java/org/sunflow/util/IntArray.java
joonsrenderer-1.1.2-java src/main/java/org/sunflow/util/IntArray.java
joonsrenderer-1.1.1-java src/main/java/org/sunflow/util/IntArray.java
joonsrenderer-1.1-java src/main/java/org/sunflow/util/IntArray.java