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

Comment agrandir efficacement les tableaux en Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-24 07:52:11540parcourir

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);

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

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);

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