Sobes.tech
Junior — Middle

Aký typ zbierky je najvhodnejší na efektívne pridávanie prvkov do stredu štruktúry?

sobes.tech AI

Odpoveď od AI

Pre efektívne pridanie prvkov do stredu štruktúry v Jave je najvhodnejšia kolekcia LinkedList.

LinkedList implementuje obojstranne viazaný zoznam, čo umožňuje vkladanie prvkov kamkoľvek v zozname v čase O(1), ak máme odkaz na potrebný uzol. Na rozdiel od ArrayList, kde vloženie do stredu vyžaduje posun prvkov a trvá O(n).

Príklad použitia LinkedList:

import java.util.LinkedList;

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

// Vložíme "C" na pozíciu 2 (medzi B a D)
list.add(2, "C");

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

Ak často potrebujete pristupovať k prvkom podľa indexu, majte na pamäti, že prístup k LinkedList je O(n), na rozdiel od ArrayList, ktoré má prístup O(1).