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);
}