Junior — Middle
Можете ли да обясните принципа на функциониране на структурата данни ArrayList?
sobes.tech AI
Отговор от AI
ArrayList — това е динамичен масив в Java, който се разширява автоматично при добавяне на елементи. Вътре използва обикновен масив, който се увеличава по размер, когато текущият масив се запълни.
Основни точки:
- Елементите се съхраняват в масив.
- При добавяне на нов елемент, ако масивът е пълен, се създава нов масив с по-голям размер (обикновено с 50% повече или два пъти по-голям), и старите елементи се копират в него.
- Достъпът до елементите по индекс става за константно време O(1).
- Добавянето на елемент в края обикновено е O(1), но при разширяване на масива — O(n).
Пример за използване:
ArrayList<String> list = new ArrayList<>();
list.add("Привет");
String first = list.get(0);