מהי שיטת Java System.arraycopy()?

שיטת java.lang.System.arraycopy() מעתיקה מערך מקור, במיקום התחלה ספציפי, ליעד באינדקס נתון.
שיטה זו שייכת למחלקת java.lang.System . הוא מעתיק את התוכן של תת-מערך באורך מוגדר ממערך מקור נתון למערך אחר הנקרא מערך היעד . מערך המקור מכונה src ומערך היעד כ- dest . מספר האלמנטים ניתן על ידי הארגומנט len .

הצהרת שיטת Java System.arraycopy()‎

הצהרת השיטה עבור שיטת java.lang.System.arraycopy() במחלקה java.lang היא כדלקמן:
public static void arraycopy(Object src, int srcIndex, Object dest, int destIndex, int len)

פרמטרים

להלן הפרמטרים של שיטת arraycopy :
  1. src : זהו מערך המקור.

  2. srcIndex : זהו אינדקס ההתחלה של מערך המקור.

  3. dest : זהו מערך היעד.

  4. destIndex : זהו אינדקס ההתחלה של מערך היעד.

  5. len : זהו מספר האלמנטים שצריך להעתיק ממערך המקור למערך היעד.

פונקציונליות

שיטת arraycopy מעתיקה נתונים מ- src , החל מרכיבי srcIndex עד srcIndex +( len - 1), למערך ה-dest ב- destIndex עד destIndex + ( len - 1).

ערך החזרה

לשיטת arraycopy יש סוג החזרה ריק מה שאומר שהיא לא מחזירה כלום.

דוגמא

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

תְפוּקָה

len: 2 srcIndex: 2 src: שני שלישי רביעי חמישי שישי שבת ראשון destIndex: 3 יעד: ינואר פברואר מרץ אפריל מאי יוני יולי אוגוסט מערך יעד סופי: ינואר פברואר מרץ רביעי חמישי יוני יולי אוגוסט

דוגמה לשינוי פרמטרים

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

תְפוּקָה

len: 1 srcIndex: 4 src: שני שלישי רביעי חמישי שישי שבת ראשון destIndex: 5 יעד: ינואר פברואר מרץ אפריל מאי יוני יולי אוגוסט מערך יעד סופי: ינואר פברואר מרץ אפריל מאי שישי יולי אוגוסט

הֶסבֵּר

בקוד לעיל, הגדרנו שני מערכים src[] ו- dest[] . לאחר מכן, הגדרנו את srcIndex ואת destIndex כדי להגדיר את מיקומי הייחוס עבור שני המערכים. בדוגמה הראשונה , שיטת System.arraycopy מעתיקה את האלמנטים ממערך המקור src[] , החל באינדקס 2 ומסתיים באינדקס 3 (כי len = 2), למערך היעד, החל מאינדקס 3. לאחר מכן הוא מוציא פלט מערך היעד הסופי לאחר העתקת האלמנטים. בדוגמה השנייה , שיטת System.arraycopy מעתיקה אלמנט 1 (מכיוון len = 1) ממערך המקור src[] , החל באינדקס 4, למערך היעד, החל מאינדקס 5, וגם מפלט את מערך היעד הסופי לאחר העתקת האלמנטים.

סיכום

עד סוף פוסט זה, אנו מקווים שהכרתם את שיטת java.lang.System.arraycopy ב-Java. המשך להתאמן כדי לקבל שליטה עמוקה יותר על הרעיון. עד אז, המשיכו לגדול ותמשיכו לזרוח!