Sobes.tech
Junior — Middle

Кой тип колекция е най-подходящ за ефективно добавяне на елементи в средата на структурата?

sobes.tech AI

Отговор от AI

За ефективно добавяне на елементи в средата на структура в Java, най-подходящата колекция е LinkedList.

LinkedList реализира двусвързана листа, което позволява вмъкване на елементи навсякъде в списъка за време O(1), ако има препратка към необходимия възел. За разлика от ArrayList, където вмъкването в средата изисква преместване на елементи и отнема O(n).

Пример за използване на LinkedList:

import java.util.LinkedList;

LinkedList<String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("D");

// Вмъкване на "C" на позиция 2 (между B и D)
list.add(2, "C");

System.out.println(list); // [A, B, C, D]

Ако често трябва да достъпвате елементи по индекс, имайте предвид, че достъпът до LinkedList е O(n), за разлика от ArrayList, което е O(1).