ArrayList — это список на базе обычного массива, который автоматически расширяется при добавлении новых элементов.
В отличие от массива фиксированной длины, он не требует заранее задавать размер — новые элементы добавляются, и список растёт по мере необходимости.
Под капотом всё просто: если внутренний массив переполнен, создаётся новый, большего размера (по умолчанию: (старый размер * 1.5) + 1), и все элементы копируются туда.
ArrayList удобен, когда:
▶️ Нужно часто добавлять элементы в конец;
▶️ Нужен быстрый доступ по индексу (get(i) работает за O(1));
▶️ Не нужно часто вставлять/удалять элементы в середину (это дорого: O(n)).
Полезные методы:
▶ add() — добавить в конец;
▶ add(index, obj) — вставить в нужную позицию;
▶ set(index, obj) — заменить элемент;
▶ clear() — очистить список;
▶ remove(index) — удалить по индексу
▶ indexOf(obj) — найти индекс по ссылке;
▶ toArray() — преобразовать в массив;
▶ size() — узнать количество элементов.
ArrayList — отличная коллекция для большинства задач, но если нужно часто вставлять и удалять в середине, лучше глянуть на LinkedList.
❤ — если было полезно
😎 — если уже знал
tags: #обучение
📱 Java Developer | Чат
