Au moment où j'utilise une liste Liste <> code> est une liste liée à chaque fois que je fais autre = myList [100]; code> La pauvre chose est d'avoir à sauter d'abord tous les autres nœuds pour arriver à la valeur que je veux. Je ne veux pas utiliser un tableau régulier car j'ai des charges de ajoutez () code> et supprimer () code> s Botter dans d'autres endroits dans le code. J'ai donc besoin d'une classe qui hérite ilist
4 Réponses :
citating de la section Remarques du docs . P >
La liste de liste (t) est l'équivalent générique de la classe ArrayList. Il met en œuvre l'interface générique ilon (T) à l'aide d'une matrice dont la taille est augmentée de manière dynamique au besoin. P>
blockQuote> Liste
Non, une liste Liste
Ok, merci mon idée qu'une liste <> est une liste liée était fausse :(
Si tel est le cas, il y a une raison quelconque de l'utilisation d'un tableau régulier sur la liste?
Pour la simplicité lorsque vous ne faites que traiter avec un numéro fixe et une collection d'objets
"Optimisé" est un peu une blague: p. La matrice interne de la liste est initialement attribuée à 4 éléments, et chaque fois que sa capacité est dépassée, une nouvelle matrice est attribuée avec le double de la taille précédente - et son contenu est copié sur. Ce n'est évidemment pas le meilleur conteneur pour ajouter - il est simplement plus simple d'écrire que des tableaux en expansion manuelle. La liste <> est l'analogue d'un C ++ std :: vecteur <>.
Liste
En plus de la réponse correcte de Tvanfosson, si vous ne savez jamais comment quelque chose fonctionne en interne, chargez simplement le . Réflecteur net et vous pouvez voir exactement comment les choses sont implémentées. Dans ce cas, la perturation de l'indexeur de la liste où vous pouvez voir que this._items [ Index] code> est une matrice du type générique t code>. p> p>
Honnêtement, je ne pense pas que vous allez devoir trop insister sur l'efficacité. Tous les gains que vous obtenez seront à peine perceptibles
Liste <> code> n'est pas une liste liée.LinkedList <> code> est cependant. Vous auriez pu remarquer que parce que cela n'a aucun sens d'exposer un accès aléatoire dans une liste liée.L'accès indexé à une liste est O (1) opération.
lol je n'ai pas remarqué la classe LinkedList!