Junior — Middle
Quale tipo di collezione è più adatto per aggiungere elementi in modo efficiente nel mezzo della struttura?
sobes.tech AI
Risposta dell'AI
Per aggiungere elementi in modo efficiente nel mezzo di una struttura in Java, la collezione LinkedList è la più adatta.
LinkedList implementa una lista doppiamente collegata, che consente di inserire elementi in qualsiasi punto della lista in tempo O(1), se si ha un riferimento al nodo necessario. A differenza di ArrayList, dove l'inserimento nel mezzo richiede di spostare gli elementi e richiede O(n).
Esempio di utilizzo di LinkedList:
import java.util.LinkedList;
LinkedList<String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("D");
// Inserisci "C" alla posizione 2 (tra B e D)
list.add(2, "C");
System.out.println(list); // [A, B, C, D]
Se devi accedere frequentemente agli elementi tramite indice, considera che l'accesso a LinkedList è O(n), a differenza di ArrayList che è O(1).