Junior — Middle
Milyen típusú gyűjtemény a legalkalmasabb az elemek hatékony hozzáadására a szerkezet közepéhez?
sobes.tech MI
Válasz az MI-től
Az adatok hatékony hozzáadásához egy szerkezet közepéhez Java-ban, a LinkedList a legmegfelelőbb gyűjtemény.
A LinkedList egy kétszárnyú láncolt listát valósít meg, ami lehetővé teszi elemek beszúrását a lista bármely pontján O(1) idő alatt, ha van referencia a szükséges csomópontra. Ezzel szemben az ArrayList esetében a középre történő beszúrás az elemek eltolását igényli, és O(n) időt vesz igénybe.
LinkedList használati példája:
import java.util.LinkedList;
LinkedList<String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("D");
// Szúrjunk be "C"-t a 2. pozícióba (B és D között)
list.add(2, "C");
System.out.println(list); // [A, B, C, D]
Ha gyakran kell index szerint hozzáférni az elemekhez, vegye figyelembe, hogy a LinkedList elérése O(n), szemben az ArrayList-éel, amely O(1).