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