Back to questions
Junior — Middle
91
При обращении к элементу по индексу, какая структура данных обеспечивает более быструю операцию: ArrayList или LinkedList?
Companies where asked
Y_lab development
Red Collar
Answer from AI
sobes.tech AI
При обращении к элементу по индексу в Java ArrayList обеспечивает более быструю операцию по сравнению с LinkedList.
Причина в том, что ArrayList основан на массиве, и доступ к элементу по индексу — это операция с временем выполнения O(1), так как можно сразу обратиться к нужной ячейке.
В LinkedList элементы связаны между собой узлами, и чтобы получить элемент по индексу, нужно пройти по списку от начала или конца до нужной позиции, что занимает время O(n).
Пример:
ArrayList<String> arrayList = new ArrayList<>();
LinkedList<String> linkedList = new LinkedList<>();
// Добавим элементы
for (int i = 0; i < 1000; i++) {
arrayList.add("Element " + i);
linkedList.add("Element " + i);
}
// Быстрый доступ в ArrayList
String element = arrayList.get(500); // O(1)
// Медленный доступ в LinkedList
String element2 = linkedList.get(500); // O(n)
Поэтому для частого доступа по индексу лучше использовать ArrayList.