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).