Skip to main content

Qu'est-ce qu'un tableau dynamique?

Un tableau dynamique est une structure de données utilisée dans la programmation informatique qui contient plusieurs objets informatiques en tant que groupe unique, et peut être redimensionné à volonté pour s'adapter à différents nombres d'objets.Le groupe est maintenu dans un seul bloc de mémoire contigu, donc l'accès aux éléments est efficace et rapide.Les tableaux dynamiques sont également appelés vecteurs ou listes, selon le langage informatique dans lequel ils sont utilisés.Malgré ces noms, une liste ou un vecteur particulier peut ne pas être un tableau dynamique, car les listes et les vecteurs peuvent être implémentés différemment des tableaux et les uns des autres.

C ++ contient une seule classe de tableau dynamique appelé vector, qui réside dans un groupe de classesAppelé la bibliothèque de modèles standard.Le tableau qui soutient cette classe peut être accessible par les itérateurs ou par des index.Sa capacité à redimensionner à la demande est un grand avantage, mais il peut attirer les programmeurs dans un faux sentiment de sécurité car il n'est pas aussi robuste qu'il semble l'être.Le tableau dynamique soutenant un vecteur ne peut pas s'assurer que les demandes d'accès sont valides.Comme les tableaux statiques, les tableaux dynamiques peuvent avoir des problèmes de vérification des limites et de corruption de la mémoire si un programme tente d'accéder à la mémoire qui n'a pas été alloué pour eux.

Java contient trois classes de tableau dynamique distinctes: vector, arraylist et copyonwritearraylist.Les éléments du tableau ne sont accessibles que par des index, et tenter d'accéder aux index en dehors du tableau ne provoquera généralement pas de problèmes de corruption de la mémoire.La classe vectorielle Java est à peu près équivalente à la classe vectorielle C ++ et n'est pas synchronisée pour permettre l'accès par plusieurs threads.ArrayList et CopyOnwriteArrayList, en revanche, sont tous deux enfile.Des trois, CopyOnWriteArrayList est la classe la plus à forte intensité de main-d'œuvre, car elle recrée complètement le tableau dynamique chaque fois qu'une nouvelle valeur est écrite dans le tableau.

Les tableaux dynamiques sont implémentés de la même manière, quelle que soit la langue informatique impliquée, maisSelon une langue particulière, il peut y avoir d'autres capacités construites au-dessus.Comme les tableaux statiques, les tableaux dynamiques ne limitent pas le type d'objet qui peut être stocké à l'intérieur, tant qu'ils sont tous du même type d'objet.Un programmeur n'a jamais besoin d'accéder directement à un tableau dynamique;Cela peut toujours être fait via une classe qui enveloppe le tableau pour une utilisation facile.Une utilisation appropriée de ces tableaux peut aider un programmeur avec une organisation de données dans le code, ainsi que dans la création de code compréhensible qui se prête à une maintenance facile.