[Optimisation] : Listes ou tableaux?

Résolu/Fermé
Noemie O'connor Messages postés 78 Date d'inscription mercredi 27 novembre 2013 Statut Membre Dernière intervention 12 novembre 2014 - 1 déc. 2013 à 15:37
Noemie O'connor Messages postés 78 Date d'inscription mercredi 27 novembre 2013 Statut Membre Dernière intervention 12 novembre 2014 - 3 déc. 2013 à 08:01
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
1 déc. 2013 à 15:45
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 78 Date d'inscription mercredi 27 novembre 2013 Statut Membre Dernière intervention 12 novembre 2014 4
2 déc. 2013 à 08:02
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
2 déc. 2013 à 18:19
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 78 Date d'inscription mercredi 27 novembre 2013 Statut Membre Dernière intervention 12 novembre 2014 4
3 déc. 2013 à 08:01
Merci pour ce conseil, je n'y pensais pas! :-)
0