[Optimisation] : Listes ou tableaux?

Résolu
Noemie O'connor Messages postés 80 Statut Membre -  
Noemie O'connor Messages postés 80 Statut Membre -
Bonjour à tous,

De manière générale j'utilise les listes que je trouve très puissantes. En revanche, il est clair que je pourrai parfois utiliser un tableau plutôt qu'une liste.

Est-ce que ça vaut le coût? Une liste est-elle consommatrice de ressources?

Merci,
Noémie.
A voir également:

2 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
Je ne connais pas spécifiquement C# mais les algorithmes doivent être assez proches de ce que connais en Java. L'implémentation des listes les plus courantes, les ArrayList, est basée sur un tableau. La différence c'est que la classe qui gère la liste se charge d'augmenter dynamiquement la taille de ce tableau. Mais si tu utilise directement un tableau la consommation de ressource sera identique, voire moindre, vu que tu n'as pas à tout encapsuler dans la classe liste. Cependant les méthodes d'accès (et notamment de redimensionnement) seront un peu plus fastidieuse si tu dois les gérer toi même quand une liste l'aurait fait toute seule...
0
Noemie O'connor Messages postés 80 Statut Membre 4
 
On est donc d'accord pour abuser un peu des listes (qui comme tu le rappelles sont bien plus souples) au détriment des tableaux car l'utilisation de ressources qui en résulte n'est pas vraiment plus élevée.

Des avis contraires sur le sujet?
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Par contre il faut utiliser les listes au meilleur de leur potentiel. Si tu connais à l'avance le nombre d'éléments à ajouter à ta liste alors précises le dans ton constructeur. Ça dimensionnera du premier coup le tableau interne et optimisera les ajouts (un redimensionnement est coûteux)
0
Noemie O'connor Messages postés 80 Statut Membre 4
 
Merci pour ce conseil, je n'y pensais pas! :-)
0