Si supponga di dover archiviare/recuperare gli articoli in un Collection
, non si preoccupi dell'ordinazione e sono consentiti duplicati, che tipo di Collection
usi?default Tipo di raccolta
Per impostazione predefinita, ho sempre utilizzato ArrayList
, ma ricordo di aver letto/sentito da qualche parte che un'implementazione di Queue
potrebbe essere una scelta migliore. A consente di aggiungere/recuperare/rimuovere articoli in posizioni arbitrarie, il che comporta una penalizzazione delle prestazioni. Siccome uno Queue
non fornisce questa funzione, dovrebbe in teoria essere più veloce quando questa funzione non è richiesta.
Mi rendo conto che tutte le discussioni sulle prestazioni sono alquanto prive di significato, l'unica cosa che conta davvero è la misurazione. Tuttavia, sono interessato a sapere cosa altri usano per un Collection
, quando non si preoccupano di ordinare, e sono consentiti i duplicati, e perché?
Cercare su un 'LinkedList' può essere costoso, o ottenere un valore in un particolare indice - devi attraversare la lista ogni volta. –
Bene, la ricerca in una lista collegata è O (n), come la ricerca in una lista di array, in quanto nessuno di questi è ordinato. E come ho affermato prima li uso attraverso un'interfaccia Collection e, di conseguenza, non ho alcun accesso ai metodi di accesso indicizzati (che è, in quel caso, una funzionalità). – Riduidel