Différence entre le tableau C # et la liste

C # Array vs List est l'endroit où se rencontrent l'abstraction et la mise en œuvre de personnes en informatique. Un tableau est incroyablement lié à la notion matérielle de mémoire continue et contiguë, avec chaque partie de taille identique (bien que généralement ces parties soient des adresses, et donc discutez avec des référents de taille non identique). Une liste pourrait être une idée (de l'arithmétique dans une certaine mesure) partout où les pièces sont commandées et partout où il y a (normalement) un début et une fin, et donc partout où l'indexation est possible. Ces 2 idées s'alignent assez bien. Cependant, une fois que nous envisageons une liste comme un type de données abstrait, une approche pour accéder aux données et les manipuler, nous sommes en mesure d'enfreindre un certain nombre de ces règles.

Qu'est-ce qu'un tableau?

Un tableau pourrait être un assortiment séquentiel de données comparables qui seront accessibles selon «l'indice». C'est le meilleur style de système au cours duquel la météo peut rester dans un emplacement de mémoire contigu.

Dans Array, l'index commence à zéro, donc pour accéder à la partie principale d'un tableau «numarray», il doit être écrit comme numarray (0).

Un tableau peut être une section consécutive de mémoire qui occupe n * octets de taille (type), où n est que la longueur du tableau et la taille (type) correspondent à la taille en mémoire nécessaire pour stocker le tri d'informations vers lequel vous progressez. utiliser dans le tableau. Cela suggère que si vous souhaitez former un tableau de cent pouces et que chaque entier occupe quatre octets, vous devrez peut-être être obligé d'avoir une section de mémoire inutilisée d'au moins quatre cents octets (100 * 4). Cela implique en outre que le tableau est assez bon marché à former, à libérer et à utiliser en raison de leurs morceaux de mémoire.

Options de tableau: -

  • Les informations sont conservées dans un type d'allocations de mémoire continues. chaque moitié suit différent simplement une fois dans le m / a. il n'y a pas d'aléatoire dans l'allocation.
  • Ils donnent un accès aléatoire comme arr (0), arr (6) etc.
  • Il y a une allocation statique de mémoire. Cela peut entraîner un gaspillage de mémoire.
  • Il n'y a qu'un seul style de données dans chaque cellule d'un tableau.
  • L'insertion et la suppression sont un peu plus intenses.

Qu'est-ce qu'une liste?

L'ArrayList peut être un assortiment d'objets de types identiques ou différents. Les dimensions d'An ArrayList sont dynamiquement gonflées ou réduites selon la nécessité. Il fonctionne comme un tableau, mais contrairement à un tableau dans ArrayList, les choses sont allouées ou désallouées dynamiquement, c'est-à-dire que vous ajouterez, supprimerez, indexerez ou rechercherez des données dans un assortiment très détaillé.

Une liste mais pourrait être une structure complètement différente. La plupart des implémentations de liste sont un mélange de nœuds qui stockent: un. - Un prix et, 2. - Un ou plusieurs pointeurs qui maintiennent les nœuds connectés entre eux. Cela suggère que vous ne voulez tout simplement pas un énorme bloc de mémoire pouvant être obtenu avec une taille suffisamment grande pour transporter toutes vos données, car les nœuds sont dispersés dans votre mémoire.

Liste des options: -

  • Les informations sont conservées au hasard dans les composants. n chaque moitié est connectée à différent via un pointeur vers la cellule suivante (n vers la cellule précédente juste en cas de double liste de liens)
  • Ils sont accessibles consécutivement grâce à la dépendance de chaque moitié
  • Il est alloué dynamiquement, c'est-à-dire que m / y est alloué à chaque cellule une fois que le processus en a fait la demande. Il n'y a donc pas de gaspillage m / a
  • Une seule cellule est divisée en plusieurs composants ayant chacun des informations de différents types de données. Cependant, le dernier doit essentiellement être le pointeur vers une cellule suivante
  • L'insertion et la suppression sont beaucoup plus faciles et plus rapides. Regarder aussi est plus facile.

Comparaison directe entre un tableau C # et une liste

Vous trouverez ci-dessous la principale différence entre le tableau C # et la liste

Différence clé entre un tableau C # et une liste

Comme vous pouvez le voir, il existe de nombreuses différences entre les performances du tableau C # et celles de la liste. Regardons la meilleure comparaison entre le tableau C # et la liste ci-dessous -

  1. Array stocke des données du même type tandis que ArrayList stocke des données dans le type de l'objet qui peuvent être de différentes sortes.
  2. La taille d'une liste de tableaux augmente dynamiquement tandis que la taille de tableau reste statique tout au long du programme.
  3. L'opération d'insertion et de suppression dans ArrayList est plus lente qu'un tableau.
  4. Les tableaux sont puissamment dactylographiés tandis que les tableaux de tableaux ne sont pas puissamment dactylographiés.
  5. Les tableaux appartiennent au système. Array namespace tandis qu'ArrayList appartient au système. Espace de noms des collections.
  6. Après avoir sélectionné entre Array et ArrayList, optez pour l'idée de leurs options que vous avez juste besoin de mettre en œuvre.

Tableau de comparaison tableau C # vs liste

Ci-dessous, la comparaison la plus élevée entre le tableau C # et la liste

S.No.

Array

liste

1Les tableaux sont continus en mémoire, ce qui rend épuisant (au sens des performances) l'insertion de pièces au milieu de la liste. L'avantage est que la possibilité d'effectuer un accès aléatoire.Les listes, en revanche, sont des parties qui se déroulent concernant en mémoire, lien le long. Cela permet une insertion simple dans la liste, mais un accès aléatoire alors qu'aucune autre structure de données n'est possible.
2Un tableau peut être un système, c'est-à-dire, c'est une approche particulière pour organiser les données dans le dispositif de mémoire.Une liste est un type de données abstrait, c'est-à-dire qu'il s'agit de n'importe quelle structure de données qui prend en charge un ensemble spécifique d'opérations.
3Un tableau est un ensemble de pièces homogènes.Une liste est une collection d'éléments hétérogènes.
4La mémoire de tableau allouée est statique et continue.La mémoire de liste allouée est dynamique et aléatoire.
5Un utilisateur n'a pas besoin de limiter la trace de la prochaine allocation de mémoire.Un utilisateur doit confiner la piste de l'emplacement suivant où la mémoire est allouée.

Conclusion - Tableau C # vs liste

Nous avons vu une comparaison de l'utilisation de la mémoire de performances du tableau C # par rapport à la liste dans le langage C #. Pour la vitesse, il est généralement digne d'aimer les tableaux réguliers. Le gain de performance est critique.

Les listes sont utilisées beaucoup plus généralement en C # que les tableaux, mais il y a des cas où les tableaux seront (ou devraient) être utilisés, ainsi que si vos données ont peu de chances de croître de manière significative ou si vous faites face à une quantité relativement importante de données qui devra obligatoirement être indexé en général.

Permettez-moi de vous offrir 2 exemples de listes qui enfreignent les principes d'un tableau. Dans une liste de liens, chaque partie pointe vers la partie suivante, donc je vais simplement placer une pièce de rechange entre 2 pièces existantes, ou en retirer une et réparer les 2 restantes (la précédente et la suivante); alors que j'accéderai aux parties via un index, je le ferai uniquement en passant d'une partie à la vérification et à la recherche, donc elle n'est pas vraiment indexée. Un autre exemple est que la file d'attente, partout où je ne ferai que booster la pointe et l'enlever dès le début; si je veux accéder aux parties via un index, c'est faisable, cependant, je ne suis clairement pas en train de maltraiter le bon tri des données abstraites. Peu importe que la mise en œuvre donne cela simplement.

Article recommandé

Cela a été un guide pour les principales différences entre le tableau C # et la liste. Ici, nous discutons également des principales différences entre le tableau C # et la liste avec des infographies et un tableau de comparaison. Vous pouvez également consulter les articles suivants -

  1. Liste Java ou liste de tableaux
  2. Interface C # vs classe abstraite
  3. ASP.NET vs C #
  4. Java Vector vs ArrayList