Sobes.tech
Junior — Middle

Jaki typ kolekcji jest najlepszy do efektywnego dodawania elementów do środka struktury?

sobes.tech AI

Odpowiedź od AI

Aby efektywnie dodawać elementy w środku struktury w Java, najlepiej nadaje się kolekcja LinkedList.

LinkedList implementuje listę dwukierunkową, co pozwala na wstawianie elementów w dowolnym miejscu listy w czasie O(1), jeśli mamy odniesienie do potrzebnego węzła. W przeciwieństwie do ArrayList, gdzie wstawianie w środku wymaga przesuwania elementów i zajmuje O(n).

Przykład użycia LinkedList:

import java.util.LinkedList;

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

// Wstaw "C" na pozycję 2 (pomiędzy B i D)
list.add(2, "C");

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

Jeśli często musisz odwoływać się do elementów po indeksie, pamiętaj, że dostęp do LinkedList jest O(n), w przeciwieństwie do ArrayList, które ma dostęp O(1).