Naturalmente, conosco la differenza di prestazioni tra l'arraylist e la lista collegata. Ho eseguito personalmente dei test e ho visto l'enorme differenza di tempo e memoria per l'inserimento/la cancellazione e l'iterazione tra l'arraylist e la lista collegata per una lista molto ampia.Benefici di "entrambi" arraylist e linklist ... possibili in java?
(correggetemi se sbaglio) Abbiamo generalmente preferiscono arraylist oltre ListaLinkata perché:
1) Abbiamo praticamente fare iterazioni più spesso di inserzione/delezione. Quindi preferiamo le iterazioni più veloci dell'inserimento/eliminazione.
2) L'overhead di memoria di LinkedList è molto più di arraylist
3) Non c'è nessuna modo in cui possiamo definire una lista come LinkedList durante l'inserimento/eliminazione in batch e come arraylist mentre iterazione. È perché l'arraylist e la lista collegata hanno tecniche di archiviazione dei dati fondamentalmente diverse.
Mi sbaglio sul 3 ° punto [lo spero :) :)? C'è qualche possibilità di avere vantaggi di queste due strutture dati in un unico elenco? Immagino che i progettisti della struttura dei dati debbano aver pensato a questo.
Possibile duplicato: http://stackoverflow.com/questions/1712952/is-there-a-known-implementation-of-an-indexed-linked-list – Aubin
L'hai detto tu stesso, se esistesse una soluzione senza compromessi che avesse tutti questi vantaggi, nessuno sarebbe nemmeno a conoscenza di 'ArrayList' e' LinkedList'. –
@Aubin grazie per il collegamento. +1 :) ma è una domanda del 2009. Qualche miglioramento nel campo delle strutture dati negli ultimi 3 anni? Soprattutto dopo il rilascio di Java 7? –