CodeGym/Java Blog/Random-IT/Metodo Arrays.copyOf() in Java
John Squirrels
Livello 41
San Francisco

Metodo Arrays.copyOf() in Java

Pubblicato nel gruppo Random-IT
membri

Che cos'è il metodo Arrays.copyOf() in Java?

La classe Java java.util.Arrays fornisce un metodo chiamato Arrays.copyOf() che restituisce una copia di un array passato come parametro a questa funzione, seguito dalla specificazione della sua dimensione. Ecco l'intestazione del metodo per una rapida comprensione.
Arrays.copyOf(int[] templateArray, int length);
Si noti che il secondo parametro "lunghezza" è la dimensione dell'array di copie che si desidera creare. Quindi qui possiamo avere 3 casi.
  • Le lunghezze di entrambi gli array di modelli e copie sono le stesse.
  • La lunghezza della matrice di copia è maggiore della lunghezza della matrice modello.
  • La lunghezza dell'array di copia è minore della lunghezza dell'array template.
Diamo un'occhiata all'esempio di codifica per vedere come possiamo gestire tutti e tre gli scenari sopra menzionati. Metodo Arrays.copyOf() in Java - 1

Esempio di codifica

import java.util.Arrays;
public class ArraysCopyOfMethod {
	public static void main(String[] args) {

	  // Initialize your templateArray which you want a copy of
        int[] templateArray = new int[] {1, 2, 3, 4, 5, 6};
        System.out.println("Template Array: " + Arrays.toString(templateArray));

        // Create a "copy" of template array using
        // Arrays.copyOf(int[] array, int arrayLength) method

        // CASE 1: Sizes of both template & copy arrays are same
        int[] copyArray1 = Arrays.copyOf(templateArray, templateArray.length);
        System.out.println("Copy Array 1: " + Arrays.toString(copyArray1));

        // CASE 2: Size of copy array > Size of template array
        // extra space in copy array is filled with zeros
        int[] copyArray2 = Arrays.copyOf(templateArray, 10);
        System.out.println("Copy Array 2: " + Arrays.toString(copyArray2));

        // CASE 3: Size of copy array < Size of template array
        // copy array is only filled with only elements in overlapping size
        int[] copyArray3 = Arrays.copyOf(templateArray, 3);
        System.out.println("Copy Array 3: " + Arrays.toString(copyArray3));
	}

}

Produzione

Modello matrice: [1, 2, 3, 4, 5, 6] Copia matrice 1: [1, 2, 3, 4, 5, 6] Copia matrice 2: [1, 2, 3, 4, 5, 6, 0, 0, 0, 0] Copia matrice 3: [1, 2, 3]

Conclusione

Ormai devi avere una conoscenza logica del metodo Arrays.copyOf() in Java. Tuttavia, sentiti libero di sperimentare diversi input per alimentare la tua curiosità.
Commenti
  • Popolari
  • Nuovi
  • Vecchi
Devi avere effettuato l'accesso per lasciare un commento
Questa pagina non ha ancora commenti