Sobes.tech
Junior — Middle

Ինչպե՞ս է փոխվում ArrayList-ի չափը հերթական ավելացման ժամանակ մինչև որոշակի քանակի հասնելը։

sobes.tech AI

Պատասխան AI-ից

Java- ում ArrayList դասը իրականացնում է դինամիկ զանգված, որը ավտոմատ կերպով մեծանում է նոր տարրեր ավելացնելիս, եթե ընթացիկ ծավալը լցված է:

Սկզբում, ArrayList-ը ստեղծվում է որոշակի ծավալով (առանցքային 10): Երբ տարրերի քանակը հասնում է այդ ծավալին, ներքին զանգվածի չափը մեծանում է: Ստանդարտ իրականացման մեջ, չափը մոտավորապես 50%-ով մեծանում է ընթացիկից (այսինքն, նոր ծավալը = հին ծավալ + հին ծավալ / 2):

Այս կերպ հնարավոր է հավասարակշռել տվյալների կրկնօրինակի արժեքները և հիշողության օգտագործումը:

Օրինակ՝

ArrayList<Integer> list = new ArrayList<>();
// Ավելացնում ենք տարրեր, երբ չափը հասնում է 10, ծավալը մոտավորապես կբարձրանա մինչև 15
for (int i = 0; i < 20; i++) {
    list.add(i);
}