Redimensionner un tableau tout en conservant les éléments actuels en Java

Mohammad Irfan 12 octobre 2023
  1. Redimensionner un tableau en Java
  2. Redimensionner un tableau en utilisant la méthode arraycopy() en Java
  3. Redimensionner un tableau en utilisant la méthode copyOf() en Java
  4. Redimensionner un tableau en utilisant une boucle for en Java
Redimensionner un tableau tout en conservant les éléments actuels 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

Article connexe - Java Array