Maison  >  Article  >  Java  >  Pourquoi l'initialisation de la taille d'ArrayList est-elle importante si vous ne pouvez pas accéder immédiatement à l'espace alloué ?

Pourquoi l'initialisation de la taille d'ArrayList est-elle importante si vous ne pouvez pas accéder immédiatement à l'espace alloué ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-02 12:12:031018parcourir

Why Does Initializing ArrayList Size Matter If You Can't Access the Allocated Space Immediately?

Comprendre l'objectif de l'initialisation de la taille d'ArrayList

La classe Java ArrayList offre la flexibilité de spécifier une taille initiale lors de la création. Cependant, on ne comprend souvent pas pourquoi cela est nécessaire si vous ne pouvez pas accéder immédiatement à l'espace alloué. Cette question approfondit la distinction entre la taille et la capacité d'une ArrayList pour clarifier cette question.

Taille initiale par rapport à la capacité

Lors de l'initialisation d'une ArrayList avec la nouvelle ArrayList< >(10), vous ne définissez pas sa taille mais sa capacité. La capacité fait référence au nombre d'éléments que l'ArrayList peut contenir sans avoir à réaffecter sa structure de données sous-jacente. En définissant une capacité initiale, vous optimisez les performances en évitant les réallocations inutiles lorsque vous ajoutez des éléments.

Ajout d'éléments

Contrairement à votre hypothèse, add(int index, Object element ) ajoute en effet un élément à l'index spécifié. Toutefois, cela nécessite que la liste ait une capacité suffisante pour accueillir le nouvel élément. Lorsque vous essayez arr.add(5, 10), vous recevez une exception hors limites car ArrayList n'a pas encore d'éléments, ce qui entraîne une capacité vide.

Exemple : initialisation et remplissage d'un ArrayList

Pour initialiser une ArrayList d'une capacité de 10 et la remplir d'éléments, vous pouvez utiliser une boucle :

<code class="java">ArrayList<Integer> arr = new ArrayList<>(10);
for (int i = 0; i < 10; i++) {
  arr.add(0);
}</code>

Maintenant, vous pouvez modifier ou récupérer des éléments aux indices 0 à 9, en utilisant la capacité initiale que vous avez définie.

En résumé, définir une capacité initiale pour une ArrayList permet d'optimiser les performances en évitant les frais de réallocation à mesure que votre liste s'allonge. Bien que la taille initiale d'une ArrayList soit nulle, la capacité garantit qu'il y a suffisamment d'espace disponible pour accueillir efficacement les éléments suivants.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn