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

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
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION