Ridimensiona un array mantenendo gli elementi correnti in Java

Mohammad Irfan 12 ottobre 2023 Java Java Array
  1. Ridimensiona un array in Java
  2. Ridimensiona un array usando il metodo arraycopy() in Java
  3. Ridimensiona un array usando il metodo copyOf() in Java
  4. Ridimensionare un array utilizzando un cicli for in Java
Ridimensiona un array mantenendo gli elementi correnti in Java

Questo tutorial introduce come ridimensionare un array mantenendo tutti i suoi elementi correnti in Java. Abbiamo incluso alcuni programmi di esempio a cui fare riferimento durante l’esecuzione di un programma in questo campo.

ADVERTISEMENT

Un array è definito come un contenitore utilizzato per memorizzare tipi simili di elementi in Java. È un contenitore di dimensioni fisse, il che significa che se un array ha una dimensione di 10, può memorizzare solo 10 elementi: questo è uno dei limiti di un array.

In questo articolo impareremo a ridimensionare un array utilizzando alcuni metodi incorporati come le funzioni arraycopy() e copyOf() e alcuni codici personalizzati.

Ridimensiona un array in Java

L’alternativa più in alto dell’array dinamico è la classe ArrayList del framework di raccolta che può memorizzare un numero qualsiasi di elementi e cresce dinamicamente. La prima cosa che possiamo fare è creare un ArrayList e copiarvi tutti gli elementi dell’array. Finalmente, abbiamo una nuova dimensione dell’array. Vedi l’esempio qui sotto:

Java
 javaCopyimport 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);
  }
}

Produzione:

 textCopy12 34 21 33 22 55 
[12, 34, 21, 33, 22, 55]
[12, 34, 21, 33, 22, 55, 100]

Ridimensiona un array usando il metodo arraycopy() in Java

Java fornisce un metodo arraycopy() che appartiene alla classe System e può essere utilizzato per creare una copia di un array. In questo esempio, stiamo creando un nuovo array di dimensioni maggiori e quindi copiando tutti gli elementi dell’array originale utilizzando il metodo arraycopy(). Segui il programma di esempio qui sotto:

Java
 javaCopypublic 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 + " ");
    }
  }
}

Produzione:

 textCopy12 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

Ridimensiona un array usando il metodo copyOf() in Java

La classe Java Arrays fornisce un metodo copyOf(), che può essere utilizzato per creare un nuovo array di dimensioni copiando tutti gli elementi dell’array originale. Questo processo richiede due argomenti: il primo è l’array originale e il secondo è la dimensione del nuovo array. Vedi l’esempio qui sotto:

Java
 javaCopyimport 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 + " ");
    }
  }
}

Produzione:

 textCopy12 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 

Ridimensionare un array utilizzando un cicli for in Java

Questo metodo è semplice ed è un approccio più vecchio in cui utilizziamo un cicli for e assegniamo elementi dell’array originale nell’array appena creato in ogni iterazione. Creiamo semplicemente un nuovo array con una dimensione maggiore e copiamo tutti gli elementi al suo interno usando il bucle. Vedi l’esempio qui sotto:

Java
 javaCopypublic 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 + " ");
    }
  }
}

Produzione:

 textCopy12 34 21 33 22 55 
12 34 21 33 22 55 0 0 0 0
Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti

Articolo correlato - Java Array