CodeGym /وبلاگ جاوا /Random-FA /روش جاوا System.arraycopy()
John Squirrels
مرحله
San Francisco

روش جاوا System.arraycopy()

در گروه منتشر شد

روش Java System.arraycopy() چیست؟

متد java.lang.System.arraycopy() یک آرایه مبدا را در یک موقعیت ابتدایی خاص، به مقصدی در یک شاخص معین کپی می کند.
این متد متعلق به کلاس java.lang.System است . محتوای یک زیرآرایه با طول مشخص را از یک آرایه منبع معین به آرایه دیگری به نام آرایه مقصد کپی می کند . آرایه مبدا به عنوان src و آرایه مقصد به عنوان dest شناخته می شود . تعداد عناصر با آرگومان len داده می شود .

اعلان روش جاوا 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 دارای نوع بازگشتی void است که به این معنی است که چیزی را بر نمی گرداند.

مثال

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 در جاوا آشنا شده باشید . برای تسلط عمیق تر به مفهوم به تمرین ادامه دهید. تا آن زمان، به رشد خود ادامه دهید و همچنان بدرخشید!
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION