Sobes.tech
Junior — Middle

რა მონაცემთა სტრუქტურა გამოიყენება მსგავსი ArrayList-ის მსგავსი დინამიური მასივის განხორციელებისთვის?

sobes.tech AI

პასუხი AI-სგან

ඩයිනමික් අරේ, Java හි ArrayList එකට සමාන, සාමාන්‍ය අරේ එක මත ක්‍රියාත්මක වේ. මූලික අදහස වන්නේ, අරේ එකේ වර්තමාන ප්‍රමාණයට ළඟා වූ විට, වැඩි ධාරිතාවයක් ඇති නව අරේ එකක් වෙන් කරගෙන, සියලුම අංග එයට පිටපත් කිරීමයි.

මෙය මතක වෙන්කිරීම් බොහෝ වතාවක් නොකර, අංග එකතු කිරීම කාර්යක්ෂම කරයි, එසේම දර්ශක අනුව වේගවත් ප්‍රවේශය රඳා පවතී.

සරල ලොජික් උදාහරණයක්:

class SimpleArrayList<E> {
    private Object[] data;
    private int size = 0;

    public SimpleArrayList() {
        data = new Object[10];
    }

    public void add(E element) {
        if (size == data.length) {
            Object[] newData = new Object[data.length * 2];
            System.arraycopy(data, 0, newData, 0, data.length);
            data = newData;
        }
        data[size++] = element;
    }

    public E get(int index) {
        if (index >= size || index < 0) throw new IndexOutOfBoundsException();
        return (E) data[index];
    }
}