Sobes.tech
Junior — Middle

Milline kogumistiil sobib kõige paremini struktuuri keskosas olevate elementide tõhusaks lisamiseks?

sobes.tech AI

Vastus AI-lt

Efektiivseks elementide lisamise keskossa Java-s on kõige sobivam kogumik LinkedList.

LinkedList implementeerib kahemõõtmelise seotud nimekirja, mis võimaldab elemente sisestada igale kohale nimekirjas O(1) ajal, kui on olemas viide vajaliku sõlme juurde. Erinevalt ArrayListist, kus keskpaika lisamine nõuab elementide nihutamist ja võtab O(n) aega.

LinkedList kasutamise näide:

import java.util.LinkedList;

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

// Lisa "C" positsioonile 2 (B ja D vahele)
list.add(2, "C");

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

Kui peate sageli elementidele indeksiga ligi pääsema, pidage meeles, et LinkedList-i ligipääs on O(n), erinevalt ArrayList-ist, mille ligipääs on O(1).