Sobes.tech
Junior — Middle

Který typ kolekce je nejvhodnější pro efektivní přidávání prvků do středu struktury?

sobes.tech AI

Odpověď od AI

Pro efektivní přidávání prvků do středu struktury v Java je nejvhodnější kolekce LinkedList.

LinkedList implementuje oboustranně vázaný seznam, což umožňuje vkládání prvků kamkoli v seznamu v čase O(1), pokud máme odkaz na potřebný uzel. Na rozdíl od ArrayList, kde vložení do středu vyžaduje posun prvků a trvá O(n).

Příklad použití LinkedList:

import java.util.LinkedList;

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

// Vložíme "C" na pozici 2 (mezi B a D)
list.add(2, "C");

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

Pokud je potřeba často přistupovat k prvkům podle indexu, je třeba vzít v úvahu, že přístup k LinkedList je O(n), na rozdíl od ArrayList, které má přístup O(1).