Redimensionner un tableau tout en conservant les éléments actuels en Java
- Redimensionner un tableau en Java
-
Redimensionner un tableau en utilisant la méthode
arraycopy()
en Java -
Redimensionner un tableau en utilisant la méthode
copyOf()
en Java -
Redimensionner un tableau en utilisant une boucle
for
en Java
Ce didacticiel présente comment vous pouvez redimensionner un tableau tout en conservant tous ses éléments actuels en Java. Nous avons inclus quelques exemples de programmes auxquels vous pouvez vous référer lors de l’exécution d’un programme dans ce domaine.
Un tableau est défini comme un conteneur utilisé pour stocker des types d’éléments similaires en Java. C’est un conteneur de taille fixe, ce qui signifie que si un tableau a une taille de 10, il ne peut stocker que 10 éléments - c’est l’une des limitations d’un tableau.
Dans cet article, nous allons apprendre à redimensionner un tableau en utilisant certaines méthodes intégrées telles que les fonctions arraycopy()
et copyOf()
et certains codes personnalisés.
Redimensionner un tableau en Java
L’alternative la plus élevée du tableau dynamique est la classe ArrayList
du cadre de collection qui peut stocker un nombre quelconque d’éléments et grandit dynamiquement. La première chose que nous pouvons faire est de créer une ArrayList
et d’y copier tous les éléments du tableau. Enfin, nous avons une nouvelle taille de tableau. Voir l’exemple ci-dessous :
import java.util.ArrayList;
import java.util.List;
public class SimpleTesting {
public static void main(String[] args) {
int arr[] = new int[] {12, 34, 21, 33, 22, 55};
for (int a : arr) {
System.out.print(a + " ");
}
List<Integer> list = new ArrayList<>();
for (int a : arr) {
list.add(a);
}
System.out.println("\n" + list);
list.add(100);
System.out.println(list);
}
}
Production:
12 34 21 33 22 55
[12, 34, 21, 33, 22, 55]
[12, 34, 21, 33, 22, 55, 100]
Redimensionner un tableau en utilisant la méthode arraycopy()
en Java
Java fournit une méthode arraycopy()
qui appartient à la classe System
et peut être utilisée pour créer une copie d’un tableau. Dans cet exemple, nous créons un nouveau tableau de plus grande taille, puis y copions tous les éléments du tableau d’origine en utilisant la méthode arraycopy()
. Suivez l’exemple de programme ci-dessous :
public class SimpleTesting {
public static void main(String[] args) {
int arr[] = new int[] {12, 34, 21, 33, 22, 55};
for (int a : arr) {
System.out.print(a + " ");
}
int arr2[] = new int[10];
System.arraycopy(arr, 0, arr2, 0, arr.length);
System.out.println();
for (int a : arr2) {
System.out.print(a + " ");
}
System.out.println();
arr2[6] = 100;
for (int a : arr2) {
System.out.print(a + " ");
}
}
}
Production:
12 34 21 33 22 55
12 34 21 33 22 55 0 0 0 0
12 34 21 33 22 55 100 0 0 0
Redimensionner un tableau en utilisant la méthode copyOf()
en Java
La classe Java Arrays
fournit une méthode copyOf()
, qui peut être utilisée pour créer un nouveau tableau de taille en copiant tous les éléments du tableau d’origine. Ce processus prend deux arguments : le premier est le tableau d’origine et le second est la taille du nouveau tableau. Voir l’exemple ci-dessous :
import java.util.Arrays;
public class SimpleTesting {
public static void main(String[] args) {
int arr[] = new int[] {12, 34, 21, 33, 22, 55};
for (int a : arr) {
System.out.print(a + " ");
}
int arr2[] = Arrays.copyOf(arr, 10);
System.out.println();
for (int a : arr2) {
System.out.print(a + " ");
}
System.out.println();
arr2[6] = 100;
for (int a : arr2) {
System.out.print(a + " ");
}
}
}
Production:
12 34 21 33 22 55
12 34 21 33 22 55 0 0 0 0
12 34 21 33 22 55 100 0 0 0
Redimensionner un tableau en utilisant une boucle for
en Java
Cette méthode est simple et est une approche plus ancienne où nous utilisons une boucle for
et affectons des éléments de tableau d’origine dans le tableau nouvellement créé à chaque itération. Nous créons simplement un nouveau tableau avec une taille plus grande et y copions tous les éléments en utilisant la boucle. Voir l’exemple ci-dessous :
public class SimpleTesting {
public static void main(String[] args) {
int arr[] = new int[] {12, 34, 21, 33, 22, 55};
for (int a : arr) {
System.out.print(a + " ");
}
int arr2[] = new int[10];
for (int i = 0; i < arr.length; i++) {
arr2[i] = arr[i];
}
System.out.println();
for (int a : arr2) {
System.out.print(a + " ");
}
}
}
Production:
12 34 21 33 22 55
12 34 21 33 22 55 0 0 0 0