W3docs

Java dynamic array sizes?

In Java, you can implement a dynamic array (i.e., an array that can grow and shrink as needed) by using an ArrayList or an ArrayDeque.

In Java, you can implement a dynamic array (i.e., an array that can grow and shrink as needed) by using an ArrayList. This class is part of the Java Collection Framework and provides a resizable-array implementation. Note that ArrayDeque is a double-ended queue and lacks index-based access, so it is not suitable for dynamic array use cases.

Here's an example of how you can use an ArrayList to implement a dynamic array:


import java.util.ArrayList;

public class DynamicArray {
    private ArrayList<Integer> numbers;

    public DynamicArray() {
        numbers = new ArrayList<>();
    }

    public void add(int num) {
        numbers.add(num);
    }

    public int get(int index) {
        return numbers.get(index);
    }

    public int size() {
        return numbers.size();
    }

    public void clear() {
        numbers.clear();
    }
}

Here's an example of how you can implement a dynamic array using a raw array:


public class DynamicArray {
    private int[] numbers;
    private int size;

    public DynamicArray() {
        numbers = new int[10];
        size = 0;
    }

    public void add(int num) {
        if (size == numbers.length) {
            int[] temp = new int[numbers.length * 2];
            System.arraycopy(numbers, 0, temp, 0, numbers.length);
            numbers = temp;
        }
        numbers[size++] = num;
    }

    public void clear() {
        size = 0;
    }
}