Bonjour à tous,

J'ai du mal à comprendre ceci :
java.util.ArrayList :
Un java.util.ArrayList utilise un tableau en interne pour ranger les données. Un ArrayList fournit un accès aux éléments par leur indice très performant et est optimisé pour des opérations d'ajout/suppression d'éléments en fin de liste.
Complexité : Les opérations size, isEmpty, get, set, iterator sont exécutées en temps constant.
Les opérations d'ajout/suppression sont exécutées en temps constant amorti (les ajouts/suppressions en fin de liste sont plus rapides).
Ajout en temps constant amorti, ça me va, mais la suppression en temps constant amorti je vois pas, ou alors j'ai mal compris le "amorti"

Pour moi c'est en temps linéaire en fonction du nombre d’élément après l’élément à supprimer. Puisque ArrayList conserve l'ordre, on ne peut pas juste faire un swap avec le dernier élément, on est obligé de décaler les X élément apres de 1.

Du coup si vous pouvez m'éclairer je suis preneur

GrosLapin