Différences entre la liste C # et la baie

La classe C # List représente une liste fortement typée d'objets accessibles par l'index et prend en charge le stockage de valeurs d'un type spécifique sans transtypage vers ou depuis un objet.

Liste, où le paramètre T est le type d'éléments dans la liste. Certaines fonctionnalités de List sont présentées ci-dessous:

Ajoutez des valeurs entières dans la collection List:

List intList = new List ();

intL) ist.Add (2);

intList.Add (3);

intList.Add (4);

Ajoutez des valeurs de chaîne dans la collection List:

Couleurs de la liste = new List ();

colours.add («rouge»);

colours.add («blanc»);

colours.add («vert»);

Récupérez les éléments d'une collection List à l'aide de la boucle for:

foreach (chaîne de couleur en couleurs) (

MessageBox.Show (couleur)

)

Un tableau stocke une collection séquentielle de taille fixe d'éléments du même type. Il est utilisé pour stocker une collection de données, mais le tableau peut être considéré comme une collection de variables du même type stockées à des emplacements de mémoire contigus. Tous les tableaux sont constitués d'emplacements de mémoire contigus, l'adresse la plus basse correspondant au premier élément et l'adresse la plus élevée au dernier élément.

Déclarez un tableau en C #:

datatype () typeName; // DataType est utilisé pour spécifier le type d'éléments dans le tableau

Initialisation d'un tableau:

double () balance = nouveau double (50);

Affectation de valeurs à un tableau:

équilibre double () = (23, 0, 34, 56, 44, 32);

Accès aux éléments du tableau;

Foreach (valeur int dans l'équilibre) (

Console.WriteLine («l'élément est:» + valeur);

)

Créez et initialisez un tableau en même temps:

Int () steps = new int (6) (1, 2, 3, 4, 5, 6);

Copiez une variable de tableau dans une autre variable de tableau cible:

Int () count = pas;

la cible et la source pointent vers le même emplacement de mémoire

Comparaison directe entre la liste C # et les infographies de tableau

Voici les 8 principales différences entre la liste C # et la baie

Différences clés entre la liste C # et la baie

Les performances C # List vs Array sont des choix populaires sur le marché; Laissez-nous discuter de certaines des principales différences entre la liste C # et la baie:

  1. La liste est construite au sommet d'Array, tandis qu'Array est une structure de données de niveau inférieur.
  2. Une liste est livrée sous forme d'API en C # avec un parent comme classe Collection tandis que Array est la structure de données de niveau inférieur avec leurs propres propriétés spécifiques.
  3. Une liste n'est pas basée sur un index, basée sur le concept de nœuds, tandis que les tableaux sont des structures de données basées sur un index dont l'adresse la plus basse est fournie au premier élément et l'adresse la plus élevée est fournie au dernier élément du tableau.
  4. Les listes sont de nature dynamique, c'est-à-dire que leur taille augmente automatiquement avec plus d'insertion d'éléments, tandis que les tableaux sont de structure de taille fixe, une fois initialisés ne peuvent pas être réinitialisés.
  5. La liste est meilleure pour l'insertion et la suppression fréquentes tandis que les tableaux sont beaucoup mieux adaptés pour un accès fréquent aux scénarios d'éléments.
  6. La liste occupe beaucoup plus de mémoire car chaque nœud défini, la liste a son propre ensemble de mémoire tandis que les tableaux sont une structure de données efficace en mémoire.
  7. Une liste est dérivée de Collection qui contient un type de données plus générique tandis que Array est fixe et stocke un type de données plus fort.
  8. La liste contient des nœuds qui ont des emplacements de mémoire n'ont pas besoin d'être de nature contiguë tandis que Array contient les éléments avec leur emplacement de mémoire qui sont de nature contiguë.
  9. La propriété non contiguë de List leur fait prendre plus de temps pour accéder aux éléments tandis que la propriété contiguë d'Array les rend très efficaces pour accéder aux éléments.
  10. Liste génériques de levier, il s'agit essentiellement d'une version sécurisée de type d'ArrayList, et génère une erreur de compilation tandis que les tableaux avec son type sécurisé, très efficace en termes de vitesse et de performances, prennent en charge plusieurs dimensions.

Comparaison directe entre la liste C # et la baie

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

Base de comparaison entre la liste C # et la baielisteArray
CréationConstruit au sommet d'ArrayStructure de données d'origine, basée sur le concept d'index
MémoireOccupe plus de mémoire que ArrayMémoire efficace
LongueurLa longueur varieLongueur de taille fixe
UsageInsertion et suppression fréquentesAccès fréquent aux éléments
RedimensionnerLa liste de redimensionnement est de nature dynamiqueRedimensionner les tableaux coûte cher
StructureMémoire non contiguëEmplacement de mémoire contigu
IndexageStructure non basée sur un indiceIndex basé sur l'adresse la plus basse en premier et l'adresse la plus élevée en dernier
AccèsL'élément d'accès prend du temps bien qu'il soit basé sur la position de l'élémentL'élément d'accès est un fonctionnement à temps constant quel que soit l'emplacement de l'élément

Conclusion - C # List vs Array

La liste C # vs la baie sont des types distincts, ayant des capacités différentes et stockent leurs données de manière distincte. Ces capacités de stockage et la conception des structures de données C # List vs Array les rendent uniques à leur manière. Un tableau est de taille fixe et une fois qu'il est alloué, on ne peut pas en ajouter ou en supprimer, tous les éléments doivent également être du même type. Ainsi, il s'agit d'une structure de données linéaire sûre et la plus efficace en termes de vitesse et de performances. En outre, Array prend en charge plusieurs dimensions. La liste fournit des fonctionnalités plus génériques et dérivées des API de collecte. Contrairement à Array, ils sont de nature dynamique, peuvent être redimensionnés automatiquement avec l'insertion et la suppression fréquentes d'éléments. Il s'agit essentiellement d'une version sécurisée de type d'une structure de données ArrayList. La fonctionnalité de sécurité de type signifie qu'il n'y a pas de boxing ou unboxing qui améliorerait les performances et si quelqu'un essaie d'ajouter un élément du mauvais type, cela générera une erreur de compilation.

La performance C # List vs Array est une structure de données linéaire qui convient bien à différents scénarios. Si l'insertion et la suppression fréquentes se produisent, et en même temps, la mémoire n'est pas une contrainte, alors List est un choix idéal tandis que dans des scénarios comme l'accès fréquent d'éléments requis avec une contrainte de mémoire, alors Array est une meilleure option. Tout dépend du cas d'utilisation et des exigences. Un tableau est toujours une liste dans la nature mais une liste n'est pas un tableau. Le tableau permet les deux types d'accès, direct et séquentiel tandis que List autorise uniquement l'accès séquentiel. Et c'est parce que la façon dont ces structures de données sont stockées en mémoire. Puisque List est dérivé de Collection, il peut différentes implémentations, l'une de ces implémentations est ArrayList, qui est une classe qui implémente le comportement de List en utilisant des tableaux comme structure de données. Un tableau est très lié à la notion matérielle de mémoire continue et contiguë, chaque élément étant de taille identique. Les deux idées de performances C # List vs Array s'alignent assez bien, sur la base de scénarios. À la fin de la journée, tout se résume à l'exigence, bien que la partie mémoire puisse être en toute sécurité dans le monde d'aujourd'hui, car la mémoire élevée est devenue une norme.

Article recommandé

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

  1. Array Lists vs Java List - Différences précieuses
  2. Guide étonnant sur C vs Java
  3. Java Vector et ArrayList
  4. C # vs Js - Différences impressionnantes
  5. Tableau C # vs liste: différences
  6. Exiger vs importer: vous voulez connaître les avantages
  7. C vs C #: Quelles sont les meilleures différences
  8. C # vs JavaScript: Quelles sont les fonctionnalités