Hvad er Java System.arraycopy()-metoden?

Metoden java.lang.System.arraycopy() kopierer et kildearray ved en specifik startposition til en destination ved et givet indeks.
Denne metode tilhører java.lang.System- klassen. Den kopierer indholdet af et underarray af en specificeret længde fra et givet kildearray til et andet array kaldet destinationsarrayet . Kildearrayet omtales som src og destinationsarrayet som dest . Antallet af elementer er givet af len -argumentet.

Java System.arraycopy()-metodedeklaration

Metodeerklæringen for metoden java.lang.System.arraycopy() i klassen java.lang er som følger:

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

Parametre

Følgende er parametrene for arraycopy- metoden:
  1. src : Det er kildearrayet.

  2. srcIndex : Det er startindekset for kildearrayet.

  3. dest : Det er destinationsarrayet.

  4. destIndex : Det er startindekset for destinationsarrayet.

  5. len : Det er antallet af elementer, der skal kopieres fra kildearrayet til destinationsarrayet.

Funktionalitet

Arraycopy - metoden kopierer data fra src , startende fra srcIndex til srcIndex +( len - 1) elementer, til dest-arrayet ved destIndex til destIndex + ( len - 1).

Returværdi

Arraycopy - metoden har en void- returtype, hvilket betyder, at den ikke returnerer noget.

Eksempel


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 : Mandag Tirsdag Onsdag Torsdag Fredag ​​Lørdag Søndag destIndex : 3 destination : Januar Februar Marts April Maj Juni Juli August endelige destinationsarray : Januar Februar Marts Onsdag Torsdag Juni Juli August

Eksempel på ændring af parametre


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

Produktion

len : 1 srcIndex : 4 src : Mandag Tirsdag Onsdag Torsdag Fredag ​​Lørdag Søndag DestIndex : 5 destination : Januar Februar Marts April Maj Juni Juli August endelige destinationsarray : Januar Februar Marts April Maj Fredag ​​Juli August

Forklaring

I ovenstående kode har vi defineret to arrays src[] og dest[] . Derefter har vi defineret srcIndex og destIndex for at definere referencepositionerne for begge arrays. I det første eksempel kopierer System.arraycopy - metoden elementerne fra kildearrayet src[] , startende ved indeks 2 og slutter ved indeks 3 (fordi len = 2), til destinationsarrayet, startende fra indeks 3. Det udsender derefter det endelige destinationsmatrix efter kopiering af elementerne. I det andet eksempel kopierer metoden System.arraycopy 1 element (fordi len = 1) fra kildearrayetsrc[] , startende ved indeks 4, til destinationsarrayet, startende fra indeks 5, og udsender også det endelige destinationsarray efter kopiering af elementerne.

Konklusion

Ved slutningen af ​​dette indlæg håber vi, at du har gjort dig bekendt med java.lang.System.arraycopy -metoden i Java. Fortsæt med at øve dig for at få en dybere beherskelse af konceptet. Indtil da, fortsæt med at vokse og fortsæt med at skinne!