In RandomAccess descrizione dell'interfaccia marcatore è scritto:Quando vengono applicati gli algoritmi per la manipolazione degli elenchi di accesso casuale?
* <p>The best algorithms for manipulating random access lists (such as
* <tt>ArrayList</tt>) can produce quadratic behavior when applied to
* sequential access lists (such as <tt>LinkedList</tt>). Generic list
* algorithms are encouraged to check whether the given list is an
* <tt>instanceof</tt> this interface before applying an algorithm that would
* provide poor performance if it were applied to a sequential access list,
* and to alter their behavior if necessary to guarantee acceptable
* performance.
Nel metodo synchronisedList classe collezione c'è un assegno di RandomAccess & se il successo creare l'oggetto SynchronizedRandomAccessList ma loro anche nessun dettaglio per quanto riguarda l'algoritmo.
public static <T> List<T> synchronizedList(List<T> list) {
return (list instanceof RandomAccess ?
new SynchronizedRandomAccessList<T>(list) :
new SynchronizedList<T>(list));
}
Quando si fa questo algoritmo si applicano e dove (si tratta di un codice nativo)?
'synchronizedList' crea una struttura di dati, non è davvero un algoritmo ... –
@OliCharlesworth che è di destra ma vedere il commento docs, parlando di un algoritmo ... im chiedendo quando e dove l'algoritmo viene applicato – Prateek
Cosa Algoritmo ti stai riferendo? –