Maison > Java > javaDidacticiel > Comment agrandir efficacement les tableaux en Java ?

Comment agrandir efficacement les tableaux en Java ?

Susan Sarandon
Libérer: 2024-11-24 07:52:11
original
558 Les gens l'ont consulté

How to Efficiently Enlarge Arrays in Java?

Agrandissement d'un tableau en Java : préserver les éléments actuels

Les tableaux en Java, contrairement à d'autres langages de programmation, sont de taille fixe. L'ajout de nouveaux éléments à un tableau complet nécessite un redimensionnement manuel ou des structures de données alternatives.

Redimensionnement d'un tableau

En raison de l'immuabilité du tableau de Java, le redimensionnement implique de copier les éléments existants dans un nouveau tableau avec la taille souhaitée. La méthode java.lang.System.arraycopy(...) peut accomplir cette tâche :

int[] oldArray = {1, 2, 3, 4, 5};
int[] newArray = new int[oldArray.length + 1]; // Larger array
System.arraycopy(oldArray, 0, newArray, 0, oldArray.length);
Copier après la connexion

Structures de données alternatives

Une autre option consiste à utiliser des données dynamiques des structures comme java.util.ArrayList. Contrairement aux tableaux, les ArrayLists peuvent s'agrandir automatiquement à mesure que des éléments sont ajoutés :

ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
// No resizing needed as the ArrayList expands dynamically
Copier après la connexion

Utilisation d'Arrays.copyOf(...)

Java 9 a introduit le java.util Méthodes .Arrays.copyOf(...), qui simplifient le redimensionnement des tableaux :

int[] oldArray = {1, 2, 3, 4, 5};
int[] newArray = Arrays.copyOf(oldArray, oldArray.length + 1);
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal