Vad är Java System.arraycopy()-metoden?

Metoden java.lang.System.arraycopy() kopierar en källmatris, vid en specifik startposition, till en destination vid ett givet index.
Denna metod tillhör klassen java.lang.System . Den kopierar innehållet i en undermatris av en specificerad längd från en given källmatris till en annan matris som kallas destinationsmatrisen . Källmatrisen hänvisas till som src och destinationsmatrisen som dest . Antalet element ges av len -argumentet.

Java System.arraycopy() metod Deklaration

Metoddeklarationen för metoden java.lang.System.arraycopy() i klassen java.lang är som följer:

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

Parametrar

Följande är parametrarna för arraycopy -metoden:
  1. src : Det är källmatrisen.

  2. srcIndex : Det är startindexet för källmatrisen.

  3. dest : Det är destinationsmatrisen.

  4. destIndex : Det är startindexet för destinationsarrayen.

  5. len : Det är antalet element som måste kopieras från källmatrisen till målmatrisen.

Funktionalitet

Arraycopy - metoden kopierar data från src , med början från srcIndex till srcIndex +( len - 1) element, till dest-arrayen vid destIndex till destIndex + ( len - 1).

Returvärde

Arraycopy - metoden har en void- returtyp vilket betyder att den inte returnerar något.

Exempel


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

Produktion

len : 2 srcIndex : 2 src : Måndag Tisdag Onsdag Torsdag Fredag ​​Lördag Söndag destIndex : 3 destination : Januari Februari Mars April Maj Juni Juli Augusti slutdestinationsuppsättning : Januari Februari Mars Onsdag Torsdag Juni Juli Augusti

Exempel på att ändra parametrar


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

Produktion

len : 1 srcIndex : 4 src : Måndag Tisdag Onsdag Torsdag Fredag ​​Lördag Söndag DestIndex : 5 Dest : Januari Februari Mars April Maj Juni Juli Augusti slutdestinationsmatris : Januari Februari Mars April Maj Fredag ​​Juli Augusti

Förklaring

I ovanstående kod har vi definierat två arrayer src[] och dest[] . Efter det har vi definierat srcIndex och destIndex för att definiera referenspositionerna för båda arrayerna. I det första exemplet kopierar metoden System.arraycopy elementen från källmatrisen src[] , som börjar vid index 2 och slutar vid index 3 (eftersom len = 2), till målarrayen, med början från index 3. Den matar sedan ut den slutliga destinationsmatrisen efter att ha kopierat elementen. I det andra exemplet kopierar metoden System.arraycopy 1 element (eftersom len = 1) från källmatrisensrc[] , med början vid index 4, till destinationsmatrisen, med början från index 5, och matar även ut den slutliga destinationsmatrisen efter att ha kopierat elementen.

Slutsats

I slutet av det här inlägget hoppas vi att du har bekantat dig med java.lang.System.arraycopy -metoden i Java. Fortsätt öva för att få en djupare kunskap om konceptet. Tills dess, fortsätt växa och fortsätt glänsa!