Array is empty. Add elements to get started!

Size: 0
Capacity: 5
Last Operation: None

Operation Explanation

Select an operation from the controls panel to see the step-by-step execution with highlighted code and detailed explanations.

Array.java View Source
public class Array<T> {
    private Object[] array;
    private int size;
    private int capacity;

    public Array() {
        capacity = 5;
        array = new Object[capacity];
        size = 0;
    }

    public void insert(T element) {
        if (size == capacity) {
            resize();
        }
        array[size] = element;
        size++;
    }

    public boolean delete(T element) {
        int index = search(element);
        if (index == -1) {
            return false;
        }
        shiftLeft(index);
        size--;
        return true;
    }

    public int search(T element) {
        for (int i = 0; i < size; i++) {
            if (array[i].equals(element)) {
                return i;
            }
        }
        return -1;
    }

    private void resize() {
        capacity *= 2;
        Object[] newArray = new Object[capacity];
        for (int i = 0; i < size; i++) {
            newArray[i] = array[i];
        }
        array = newArray;
    }

    private void shiftLeft(int index) {
        for (int i = index; i < size; i++) {
            array[i] = array[i + 1];
        }
    }

    public int size() {
        return size;
    }
}

Array Operations

Animation Controls

Slow
Fast

Presets

Statistics

Operations: 0
Comparisons: 0
Time Complexity (Last Operation): -