Doc ditScala: Liste Performance
Heure: Liste a O (1) et la tête précédez/accès arrière. La plupart des autres opérations sont O (n) sur le nombre d'éléments dans la liste. Ce inclut la recherche indexée des éléments, longueur, append et inverse.
Docs "fièrement" mentionne que la plupart des opérations sont O (n). Même si elle est sauvegardée par une liste chaînée, les opérations de longueur et d'ajout peuvent facilement être faites à temps constant. Aussi pas sûr si je comprends pourquoi ce n'est pas une liste doublement liée, ce qui aurait fait l'opération inverse O (1).
C'est le mumbo jumbo fonctionnel, n'est-ce pas?
[EDIT] Quelle collection peut me donner O (1) pour toutes les opérations mentionnées ci-dessus?
Merci pour votre réponse! Je comprends que l'immutabilité est la raison, mais cela vient avec le coût. Quel est le point s'il ne peut pas maintenir le nombre total d'éléments dans une collection? – Programmer
oui, cela a un coût. La liste n'est pas une collection que vous devriez utiliser pour chaque problème, mais c'est sans doute celle qui offre les meilleures performances lorsque vous avez juste besoin de lire les éléments séquentiellement et/ou de préfixer – Mikel