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