CodeGym /Java Blog /Random-IT /Metodo Java System.arraycopy()
John Squirrels
Livello 41
San Francisco

Metodo Java System.arraycopy()

Pubblicato nel gruppo Random-IT

Che cos'è il metodo Java System.arraycopy()?

Il metodo java.lang.System.arraycopy() copia un array di origine, in una specifica posizione iniziale, in una destinazione in un dato indice.
Questo metodo appartiene alla classe java.lang.System . Copia il contenuto di un sottoarray di una lunghezza specificata da un dato array di origine a un altro array chiamato array di destinazione . L'array di origine è indicato come src e l'array di destinazione come dest . Il numero di elementi è dato dall'argomento len .

Metodo Java System.arraycopy() Dichiarazione

La dichiarazione del metodo per il metodo java.lang.System.arraycopy() nella classe java.lang è la seguente:

public static void arraycopy(Object src, int srcIndex, Object dest, int destIndex, int len)

Parametri

Di seguito sono riportati i parametri del metodo arraycopy :
  1. src : è l'array di origine.

  2. srcIndex : è l'indice iniziale dell'array di origine.

  3. dest : è l'array di destinazione.

  4. destIndex : è l'indice iniziale dell'array di destinazione.

  5. len : è il numero di elementi che devono essere copiati dall'array di origine all'array di destinazione.

Funzionalità

Il metodo arraycopy copia i dati da src , a partire da srcIndex fino a srcIndex +( len - 1) elementi, nell'array dest in destIndex fino a destIndex + ( len - 1).

Valore di ritorno

Il metodo arraycopy ha un tipo di ritorno void , il che significa che non restituisce nulla.

Esempio


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] + " ");
    }
}

Produzione

len : 2 srcIndex : 2 src : lunedì martedì mercoledì giovedì venerdì sabato domenica destIndex : 3 dest : gennaio febbraio marzo aprile maggio giugno luglio agosto array di destinazione finale : gennaio febbraio marzo mercoledì giovedì giugno luglio agosto

Esempio di modifica dei parametri


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

Produzione

len : 1 srcIndex : 4 src : lunedì martedì mercoledì giovedì venerdì sabato domenica destIndex : 5 dest : gennaio febbraio marzo aprile maggio giugno luglio agosto array di destinazione finale : gennaio febbraio marzo aprile maggio venerdì luglio agosto

Spiegazione

Nel codice precedente, abbiamo definito due array src[] e dest[] . Successivamente, abbiamo definito srcIndex e destIndex per definire le posizioni di riferimento per entrambi gli array. Nel primo esempio , il metodo System.arraycopy copia gli elementi dall'array di origine src[] , iniziando dall'indice 2 e terminando con l'indice 3 (poiché len = 2), nell'array di destinazione, a partire dall'indice 3. Quindi restituisce l'array di destinazione finale dopo aver copiato gli elementi. Nel secondo esempio , il metodo System.arraycopy copia 1 elemento (poiché len = 1) dall'array di originesrc[] , a partire dall'indice 4, all'array di destinazione, a partire dall'indice 5, e restituisce anche l'array di destinazione finale dopo aver copiato gli elementi.

Conclusione

Alla fine di questo post, speriamo che tu abbia familiarizzato con il metodo java.lang.System.arraycopy in Java. Continua a esercitarti per una padronanza più profonda del concetto. Fino ad allora, continua a crescere e continua a brillare!
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION