Sobes.tech
Junior — Middle

Hogyan változik az ArrayList mérete az elemek sorozatos hozzáadásakor, amíg el nem éri egy bizonyos számot

sobes.tech MI

Válasz az MI-től

Java-ban az ArrayList osztály egy dinamikus tömböt valósít meg, amely automatikusan növeli a méretét, amikor új elemeket adunk hozzá, és a jelenlegi kapacitás megtelt.

Kezdetben az ArrayList egy adott kapacitással (alapértelmezett 10) jön létre. Amikor az elemek száma eléri ezt a kapacitást, a belső tömb mérete növekszik. A standard megvalósításban a méret körülbelül 50%-kal nő a jelenlegihez képest (azaz, új kapacitás = régi kapacitás + régi kapacitás / 2).

Ez lehetővé teszi az adatok másolási költségeinek és a memóriahasználatnak az egyensúlyozását.

Példa:

ArrayList<Integer> list = new ArrayList<>();
// Elem hozzáadása, amikor a méret eléri a 10-et, a kapacitás kb. 15-re nő
for (int i = 0; i < 20; i++) {
    list.add(i);
}