CodeGym /בלוג Java /Random-HE /שיטת Java System.arraycopy()
John Squirrels
רָמָה
San Francisco

שיטת Java System.arraycopy()

פורסם בקבוצה

מהי שיטת 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. המשך להתאמן כדי לקבל שליטה עמוקה יותר על הרעיון. עד אז, המשיכו לגדול ותמשיכו לזרוח!
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION