Différence entre Array et ArrayList

Différence entre Array et ArrayList

Qu'est-ce que Array et ArrayList?

Array et ArrayList sont des structures de données basées sur l'index qui sont souvent utilisées dans les programmes Java. Conceptuellement parlant, ArrayList est soutenu en interne par Arrays, cependant, comprendre la différence entre les deux est la clé pour devenir un grand développeur Java. C'est tout à fait l'étape de base pour commencer, en particulier les débutants qui viennent de commencer à coder. Bien que les deux soient utilisés pour stocker des éléments à Java, qui peuvent être des primitives ou des objets, ils ont leur juste part de différences en termes de fonctionnalité et de performance. La principale différence entre les deux est que le tableau est statique alors que ArrayList est de nature dynamique. Cet article compare les deux sur divers aspects afin que vous puissiez en choisir l'un plutôt que l'autre.

Différence entre Array et ArrayList

  1. Redonnable

L'une des différences majeures et notables entre les deux structures de données est que le tableau est de nature statique, ce qui signifie qu'il s'agit d'un type de données de longueur fixe tandis que ArrayList est de nature dynamique, ce qui signifie qu'il s'agit d'une structure de données de longueur variable. En termes techniques, la durée du tableau ne peut pas être modifiée ou modifiée une fois l'objet de tableau créé. Il contient une collecte séquentielle d'éléments du même type de données. Les tableaux en java fonctionnent différemment qu'ils fonctionnent en c / c++. ArrayList, en revanche, peut se redimensionner et les tableaux peuvent croître comme ils avaient besoin. Comme il s'agit d'une structure de données dynamique, les éléments peuvent être ajoutés et supprimés de la liste.

  1. Génériques

Vous ne pouvez pas créer des tableaux de classes génériques d'interfaces en Java afin que les tableaux et les génériques ne vont pas de pair, ce qui rend impossible de créer un tableau générique pour la seule raison de base que les tableaux sont covariants tandis que les génériques sont invariants. Alors que le tableau est une structure de données de longueur fixe, il contient des objets de la même classe ou des primitives du type de données spécifique. Donc, si vous essayez de stocker différents types de données autres que celui spécifié lors de la création d'un objet Array, il lance simplement "ArrayStoreException". ArrayList, en revanche, prend en charge les génériques pour garantir la sécurité de type.

  1. Primitives

Les types de données primitifs tels que INT, Double, Long et Char ne sont pas autorisés dans ArrayList. Il contient plutôt des objets et les primitives ne sont pas considérées comme des objets en Java. Les tableaux, en revanche, peuvent contenir des primitives ainsi que des objets en Java car il s'agit de l'une des structures de données les plus efficaces de Java pour stocker des objets. Il s'agit d'un type de données agrégé conçu pour contenir des objets qui peuvent être de même ou de type différent.

  1. Longueur

Afin d'obtenir la longueur du tableau, le code doit accéder à l'attribut de longueur car il faut connaître la longueur pour effectuer des opérations sur le tableau. Alors que ArrayList utilise la méthode Taille () pour déterminer la taille de l'arrayList, il est assez différent de la détermination de la longueur du tableau. L'attribut de la méthode size () détermine le nombre d'éléments dans une liste Array, qui à son tour est la capacité de la liste Array.

Par exemple:

classe publique ArrayLengthTest

public static void main (String [] args)

ArrayList Arrlist = new ArrayList ();

String [] items = "One", "Two", "Three";

pour (String str: items)

arrlist.ajouter (str);

Int size = articles.taille();

Système.dehors.println (taille);

  1. Mise en œuvre

Array est un composant de programmation natif en Java qui est créé dynamiquement et ils utilisent l'opérateur d'affectation pour contenir des éléments, tandis que ArrayList Utilisez Add () Attribut aux éléments d'insertion. ArrayList est une classe de Collection Framework en Java qui utilise un ensemble de méthodes spécifiées pour accéder et modifier les éléments. La taille d'une arraylist peut être augmentée ou diminuée dynamiquement. Les éléments d'un tableau sont stockés dans l'emplacement de la mémoire contigu et sa taille reste statique tout au long.

  1. Performance

Bien que les deux structures de données fournissent des performances similaires à ce qu'une liste d'array est soutenue par les tableaux, l'une a un petit avantage sur un autre principalement en termes de temps de processeur et d'utilisation de la mémoire. Disons que si vous connaissez la taille du tableau, vous allez probablement aller avec la liste Array. Cependant, itérer sur un tableau est un peu plus rapide que d'itérer sur une liste de billets. Si le programme implique un grand nombre de primitives, un tableau fonctionnera beaucoup mieux que le ArrayList, en termes de temps et de mémoire. Les tableaux sont un langage de programmation de bas niveau qui peut être utilisé dans les implémentations de la collection. Cependant, les performances peuvent varier en fonction de l'opération que vous effectuez.

Tableau vs. Liste des tableaux

Déployer Liste des tableaux
Le tableau est une structure de données de longueur fixe dont la longueur ne peut pas être modifiée une fois l'objet de tableau. ArrayList est de nature dynamique, ce qui signifie qu'il peut se redimensionner pour se développer en cas de besoin.
La taille d'un tableau reste statique tout au long du programme. La taille d'une arraylist peut croître dynamiquement en fonction de la charge et de la capacité.
Il utilise l'opérateur d'affectation pour stocker des éléments. Il utilise l'attribut Add () aux éléments d'insertion.
Il peut contenir des primitives ainsi que des objets de type de données identiques ou différents. Les primitives ne sont pas autorisées dans ArrayList. Il ne peut contenir que des types d'objets.
Les tableaux et les génériques ne vont pas de pair. Les génériques sont autorisés dans ArrayList.
Les tableaux peuvent être multidimensionnels. ArrayList est une seule dimension.
C'est un composant de programmation natif où les éléments sont stockés dans des emplacements de mémoire contigu. C'est une classe du cadre des collections de Java où les objets ne sont jamais stockés dans des endroits contigus.
La variable de longueur est utilisée pour déterminer la longueur du tableau. La méthode size () est utilisée pour déterminer la taille de la liste Array.
Prend moins de mémoire que ArrayList pour stocker des éléments ou des objets spécifiés. Prend plus de mémoire que le tableau pour stocker des objets.
Il est plus rapide sur un tableau sur un tableau que d'itérer sur une liste de listes. L'itération sur une liste Array est nettement plus lente en termes de performances.

Résumé

Bien que certains puissent penser que la mise en œuvre des tableaux dans un programme peut obtenir des résultats plus rapidement que de faire de même avec les listes de table pour la simple raison que les tableaux sont une structure de données de bas niveau, les performances peuvent varier en fonction de l'opération que vous effectuez. Eh bien, la longueur d'un tableau est fixe, tandis que la taille de l'arraylist peut être augmentée ou diminuée dynamiquement, donc ArrayList a un petit bord sur le tableau en termes de fonctionnalité. Cependant, malgré les différences, ils partagent également certaines similitudes. Les deux sont des structures de données basées sur l'index en Java qui vous permettent de stocker des objets et ils permettent tous deux des valeurs nulles ainsi que des doublons. Eh bien, si vous connaissez la taille des objets au préalable, vous devriez aller avec un tableau, et si vous n'êtes pas sûr de la taille, optez pour le ArrayList.