CodeGym /Blogue Java /Random-PT /Método Arrays.copyOf() em Java
John Squirrels
Nível 41
San Francisco

Método Arrays.copyOf() em Java

Publicado no grupo Random-PT

O que é o método Arrays.copyOf() em Java?

A classe Java java.util.Arrays fornece um método chamado Arrays.copyOf() que retorna uma cópia de uma matriz passada como parâmetro para essa função, seguida pela especificação de seu tamanho. Aqui está o cabeçalho do método para compreensão rápida.

Arrays.copyOf(int[] templateArray, int length);
Observe que o segundo parâmetro “comprimento” é o tamanho da matriz de cópia que você deseja criar. Então aqui podemos ter 3 casos.
  • Os comprimentos das matrizes de modelo e cópia são os mesmos.
  • O comprimento da matriz de cópia é maior que o comprimento da matriz de modelo.
  • O comprimento da matriz de cópia é menor que o comprimento da matriz de modelo.
Vejamos o exemplo de codificação para ver como podemos lidar com todos os três cenários mencionados acima. Método Arrays.copyOf() em Java - 1

Exemplo de Codificação


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

}

Saída

Matriz de modelo: [1, 2, 3, 4, 5, 6] Copiar matriz 1: [1, 2, 3, 4, 5, 6] Copiar matriz 2: [1, 2, 3, 4, 5, 6, 0, 0, 0, 0] Copiar matriz 3: [1, 2, 3]

Conclusão

Até agora você deve ter uma compreensão lógica sobre o método Arrays.copyOf() em Java. No entanto, sinta-se à vontade para experimentar diferentes entradas para alimentar sua curiosidade.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION