Sobes.tech
Junior — Middle

ArrayList ga element qo'shish metodining ichki amalga oshirilishi qanday?

sobes.tech AI

AIdan javob

ArrayList ga element qo'shishda quyidagilar bo'ladi:

  1. Hozirgi ichki massivning sig'imi yangi element qo'shish uchun yetarlimi, tekshiriladi.
  2. Agar sig'im yetarli bo'lmasa, o'sha o'lchamda (odatda taxminan 1.5 barobar katta) yangi massiv yaratiladi va barcha elementlar unga ko'chiriladi.
  3. Yangi element birinchi bo'sh joyga joylashtiriladi.
  4. Ro'yxatning o'lchami (count) 1 ga oshiriladi.

Add metodining soddalashtirilgan misoli:

public boolean add(E e) {
    if (size == elementData.length) {
        grow(); // massivni kengaytirish
    }
    elementData[size++] = e;
    return true;
}

private void grow() {
    int newCapacity = elementData.length + (elementData.length >> 1);
    elementData = Arrays.copyOf(elementData, newCapacity);
}