Per i non ordinati, la scelta migliore, più di nove volte su dieci, sarà: ArrayList, HashMap, HashSet.
Vector e Hashtable sono sincronizzati e pertanto potrebbero essere un po 'più lenti. È raro che desideriate implementazioni sincronizzate e, quando fate le loro interfacce, non sono sufficientemente ricche da rendere la sincronizzazione più utile. Nel caso di Map, ConcurrentMap aggiunge operazioni aggiuntive per rendere l'interfaccia utile. ConcurrentHashMap è una buona implementazione di ConcurrentMap.
LinkedList non è quasi mai una buona idea. Anche se stai facendo un sacco di inserimenti e di rimozione, se stai usando un indice per indicare la posizione, allora è necessario iterare attraverso l'elenco per trovare il nodo corretto. ArrayList è quasi sempre più veloce.
Per Mappa e Imposta, le varianti di hash saranno più veloci di albero/ordinate. Gli algortih di hash tendono ad avere prestazioni O (1), mentre gli alberi saranno O (log n).
fonte
2008-09-07 15:18:39
Perché è la risposta selezionata? Richiede solo un mucchio di domande e quindi fa riferimento a un libro. – Beefster