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

Método Java System.arraycopy()

Publicado no grupo Random-PT

O que é o método Java System.arraycopy()?

O método java.lang.System.arraycopy() copia um array de origem, em uma posição inicial específica, para um destino em um determinado índice.
Este método pertence à classe java.lang.System . Ele copia o conteúdo de um subarray de um comprimento especificado de um determinado array de origem para outro array chamado array de destino . A matriz de origem é referida como src e a matriz de destino como dest . O número de elementos é dado pelo argumento len .

Declaração do método Java System.arraycopy()

A declaração do método para o método java.lang.System.arraycopy() na classe java.lang é a seguinte:
public static void arraycopy(Object src, int srcIndex, Object dest, int destIndex, int len)

Parâmetros

A seguir estão os parâmetros do método arraycopy :
  1. src : É o array fonte.

  2. srcIndex : É o índice inicial do array fonte.

  3. dest : é o array de destino.

  4. destIndex : É o índice inicial do array de destino.

  5. len : É o número de elementos que precisam ser copiados do array de origem para o array de destino.

Funcionalidade

O método arraycopy copia dados de src , começando de srcIndex até srcIndex +( len - 1) elementos, para o array dest em destIndex até destIndex + ( len - 1).

Valor de retorno

O método arraycopy tem um tipo de retorno void , o que significa que não retorna nada.

Exemplo

public class Example {

    public static void main(String[] args) {

        String[] src = { "Monday","Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
        String[] dest = { "January", "February", "March", "April", "May", "June", "July", "August"};

        int srcIndex = 2;
        int destIndex = 3;
        int len = 2;

        //print number of elements that need to be copied
        //from the source to the destination array
        System.out.println("len : " + len);

        //print source index
        System.out.println("srcIndex : " + srcIndex);

        //print elements of the source array
        System.out.print("src : ");
        for (int i = 0; i < src.length; i++)
            System.out.print(src[i] + " ");
        System.out.println("");

        //print destination index
        System.out.println("destIndex : " + destIndex);

        //print elements of the destination array
        System.out.print("dest : ");
        for (int i = 0; i < dest.length; i++)
            System.out.print(dest[i] + " ");
        System.out.println("");

        // Use of arraycopy() method
        System.arraycopy(src, srcIndex, dest, destIndex, len);
        // this method copies the 'len' no of elements
        // from the src array to the dest array using the srcIndex
        // and destIndex as reference points in both the arrays


        // Print elements of destination after
        System.out.print("final destination array : ");
        for (int i = 0; i < dest.length; i++)
            System.out.print(dest[i] + " ");
    }
}

Saída

len: 2 srcIndex: 2 src: segunda-feira terça-feira quarta-feira quinta-feira sexta-feira sábado domingo destIndex: 3 dest: janeiro fevereiro março abril maio junho julho agosto matriz de destino final: janeiro fevereiro março quarta-feira quinta-feira junho julho agosto

Exemplo de alteração de parâmetros

// Example of changing parameters
         srcIndex = 4;
         destIndex = 5;
         len = 1;

Saída

len: 1 srcIndex: 4 src: segunda-feira terça-feira quarta-feira quinta-feira sexta-feira sábado domingo destIndex: 5 dest: janeiro fevereiro março abril maio junho julho agosto matriz de destino final: janeiro fevereiro março abril maio sexta-feira julho agosto

Explicação

No código acima, definimos dois arrays src[] e dest[] . Depois disso, definimos o srcIndex e o destIndex para definir as posições de referência para ambos os arrays. No primeiro exemplo , o método System.arraycopy copia os elementos do array de origem src[] , começando no índice 2 e terminando no índice 3 (porque len = 2), para o array de destino, começando no índice 3. Em seguida, gera a matriz de destino final após copiar os elementos. No segundo exemplo , o método System.arraycopy copia 1 elemento (porque len = 1) do array de origemsrc[] , começando no índice 4, para a matriz de destino, começando no índice 5, e também gera a matriz de destino final após copiar os elementos.

Conclusão

Ao final deste post, esperamos que você tenha se familiarizado com o método java.lang.System.arraycopy em Java. Continue praticando para um domínio mais profundo do conceito. Até lá, continue crescendo e continue brilhando!
Comentários
  • Populares
  • Novas
  • Antigas
Você precisa acessar para deixar um comentário
Esta página ainda não tem nenhum comentário