Junior — Middle
156
Millised on erinevused Java-s ArrayList ja LinkedList nimekirjade rakenduste vahel?
Ettevõtted, kust küsiti
Grotem
Vastus AI-lt
sobes.tech AI
ArrayList и LinkedList — две реализации интерфейса List в Java, но они отличаются внутренней структурой и производительностью.
- ArrayList основан на динамическом массиве. Быстрый доступ по индексу (O(1)), но операции вставки и удаления в середине списка требуют сдвига элементов (O(n)).
- LinkedList реализован как двусвязный список. Доступ по индексу медленнее (O(n)), но вставка и удаление элементов в середине списка быстрее (O(1)), если есть ссылка на узел.
Пример:
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("A");
arrayList.add("B");
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("A");
linkedList.add("B");
Выбор зависит от сценария: если нужен быстрый случайный доступ — ArrayList, если часто вставляете/удаляете элементы в середине — LinkedList.