È chiaro che le prestazioni di ricerca della HashSet<T>
classe generica sono superiori a quelle della List<T>
classe generica . Basta confrontare la chiave basata su hash con l'approccio lineare inList<T>
classe.
Tuttavia, il calcolo di una chiave hash può richiedere alcuni cicli della CPU, quindi per una piccola quantità di elementi la ricerca lineare può essere una vera alternativa alla HashSet<T>
.
La mia domanda: dov'è il pareggio?
Per semplificare lo scenario (ed essere onesti) supponiamo che la List<T>
classe utilizzi il Equals()
metodo dell'elemento per identificare un elemento.