Wat is de Java System.arraycopy()-methode?

De methode java.lang.System.arraycopy() kopieert een bronarray op een specifieke beginpositie naar een bestemming op een bepaalde index.
Deze methode behoort tot de klasse java.lang.System . Het kopieert de inhoud van een subarray van een gespecificeerde lengte van een bepaalde bronarray naar een andere array die de bestemmingsarray wordt genoemd . De bronarray wordt src genoemd en de doelarray dest . Het aantal elementen wordt gegeven door het len- argument.

Java System.arraycopy() methode Verklaring

De methodedeclaratie voor de methode java.lang.System.arraycopy() in de klasse java.lang is als volgt:

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

Parameters

Hieronder volgen de parameters van de arraycopy- methode:
  1. src : Het is de bronarray.

  2. srcIndex : Het is de startindex van de bronarray.

  3. dest : Het is de doelarray.

  4. destIndex : Het is de startindex van de doelarray.

  5. len : Het is het aantal elementen dat moet worden gekopieerd van de bronarray naar de doelarray.

functionaliteit

De methode arraycopy kopieert gegevens van src , beginnend met srcIndex tot srcIndex +( len - 1) elementen, naar de dest array op destIndex tot destIndex + ( len - 1).

Winstwaarde

De arraycopy- methode heeft een ongeldig retourtype, wat betekent dat het niets retourneert.

Voorbeeld


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

Uitgang

len : 2 srcIndex : 2 src : maandag dinsdag woensdag donderdag vrijdag zaterdag zondag destIndex : 3 dest : januari februari maart april mei juni juli augustus eindbestemming array : januari februari maart woensdag donderdag juni juli augustus

Voorbeeld van het wijzigen van parameters


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

Uitgang

len : 1 srcIndex : 4 src : maandag dinsdag woensdag donderdag vrijdag zaterdag zondag destIndex : 5 dest : januari februari maart april mei juni juli augustus eindbestemming array : januari februari maart april mei vrijdag juli augustus

Uitleg

In de bovenstaande code hebben we twee arrays gedefinieerd src[] en dest[] . Daarna hebben we de srcIndex en destIndex gedefinieerd om de referentieposities voor beide arrays te definiëren. In het eerste voorbeeld kopieert de methode System.arraycopy de elementen van de bronarray src[] , beginnend bij index 2 en eindigend bij index 3 (omdat len ​​= 2), naar de doelarray, beginnend bij index 3. Vervolgens wordt uitgevoerd de uiteindelijke doelarray na het kopiëren van de elementen. In het tweede voorbeeld kopieert de methode System.arraycopy 1 element (omdat len ​​= 1) van de bronarraysrc[] , beginnend bij index 4, naar de doelarray, beginnend bij index 5, en voert ook de uiteindelijke doelarray uit na het kopiëren van de elementen.

Conclusie

Aan het einde van dit bericht hopen we dat je vertrouwd bent geraakt met de java.lang.System.arraycopy- methode in Java. Blijf oefenen voor een diepere beheersing van het concept. Tot die tijd, blijf groeien en blijf stralen!