9.        arraycopy (método) java.lang.System.arraycopy(...)

Este método sirve para copiar unos cuantos datos de un arrayen otro.

    void arraycopy(Object origen, int p1,
                   Object destino, int p2, int n)

 

copia “n” datos del array “origen” al array “destino”. El primer dato que se copia del origen es el que esté en la posición “p1”, que va a la posición “p2” del destino.

Los arrays deben existir y disponer de suficientes datos en origen y espacio en destino para trasladar los n valores solicitados. Además, los objetos en “origen” deben poder asignarse al array “destino” (es decir, ser de tipos compatibles en asignación.

arraycopy es cuidadoso con los casos en que origen y destino sean el mismo array.

Los siguientes fragmentos de código son equivalentes en cuanto a su función; pero “arraycopy” es notablemente más rápido:

    void arraycopy(Object origen, int p1, Object destino, int p2, int n)

  public class A {}

  public class B extends A {}

   

  public void copiador(B[] origen, int p1, A[] destino, int p2, int n) {

      A[] temporal = new A[n];

      for (int k = 0; k < n; k++)

          temporal[k] = origen[p1 + k];       

      for (int k = 0; k < n; k++)

          destino[p2 + k] = temporal[k];       

  }     

 

Ver "arraycopy()".

Ver "Arrays / copia".

Temas relacionados

Vademécum