Java System.arraycopy() முறை என்றால் என்ன?

java.lang.System.arraycopy() முறையானது, ஒரு குறிப்பிட்ட தொடக்க நிலையில், கொடுக்கப்பட்ட குறியீட்டில் உள்ள இலக்குக்கு ஒரு மூல வரிசையை நகலெடுக்கிறது.
இந்த முறை java.lang.System வகுப்பைச் சேர்ந்தது . இது கொடுக்கப்பட்ட மூல அணிவரிசையில் இருந்து இலக்கு வரிசை எனப்படும் மற்றொரு அணிவரிசைக்கு ஒரு குறிப்பிட்ட நீளத்தின் துணைவரிசையின் உள்ளடக்கத்தை நகலெடுக்கிறது . மூல வரிசை src என்றும் இலக்கு வரிசை dest என்றும் குறிப்பிடப்படுகிறது . உறுப்புகளின் எண்ணிக்கை லென் வாதத்தால் வழங்கப்படுகிறது .

Java System.arraycopy() method Declaration

java.lang வகுப்பில் java.lang.System.arraycopy() முறைக்கான முறை அறிவிப்பு பின்வருமாறு:

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

அளவுருக்கள்

வரிசை நகல் முறையின் அளவுருக்கள் பின்வருமாறு :
  1. src : இது மூல வரிசை.

  2. srcIndex : இது மூல வரிசையின் தொடக்கக் குறியீடாகும்.

  3. dest : இது இலக்கு வரிசை.

  4. destIndex : இது இலக்கு வரிசையின் தொடக்கக் குறியீடாகும்.

  5. len : இது மூல வரிசையில் இருந்து இலக்கு வரிசைக்கு நகலெடுக்க வேண்டிய உறுப்புகளின் எண்ணிக்கை.

செயல்பாடு

arraycopy முறையானது src இலிருந்து தரவை நகலெடுக்கிறது , srcIndex இலிருந்து srcIndex +( len - 1) உறுப்புகள் வரை , destIndex இல் destIndex வரை dest array வரை destIndex + ( len - 1).

வருவாய் மதிப்பு

வரிசைகாப்பி முறையானது வெற்றிடமாக திரும்பும் வகையைக் கொண்டுள்ளது , அதாவது அது எதையும் திருப்பித் தராது .

உதாரணமாக


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 dest : ஜனவரி பிப்ரவரி மார்ச் ஏப்ரல் மே ஜூன் ஜூலை ஆகஸ்ட் இறுதி இலக்கு வரிசை : ஜனவரி பிப்ரவரி மார்ச் புதன் வியாழன் ஜூன் ஜூலை ஆகஸ்ட்

அளவுருக்களை மாற்றுவதற்கான எடுத்துக்காட்டு


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

வெளியீடு

len : 1 srcIndex : 4 src : திங்கள் செவ்வாய் புதன் வியாழன் வெள்ளி சனி ஞாயிறு destIndex : 5 dest : ஜனவரி பிப்ரவரி மார்ச் ஏப்ரல் மே ஜூன் ஜூலை ஆகஸ்ட் இறுதி இலக்கு வரிசை : ஜனவரி பிப்ரவரி மார்ச் ஏப்ரல் மே வெள்ளி ஜூலை ஆகஸ்ட்

விளக்கம்

மேலே உள்ள குறியீட்டில், src[] மற்றும் dest[] ஆகிய இரண்டு வரிசைகளை வரையறுத்துள்ளோம் . அதன் பிறகு, இரண்டு வரிசைகளுக்கான குறிப்பு நிலைகளை வரையறுக்க srcIndex மற்றும் destIndex ஐ வரையறுத்துள்ளோம் . முதல் எடுத்துக்காட்டில் , System.arraycopy முறையானது, src மூல வரிசையிலிருந்து கூறுகளை நகலெடுக்கிறது , இது குறியீட்டு 2 இல் தொடங்கி, குறியீட்டு 3 இல் முடிவடைகிறது (ஏனென்றால் len = 2), இலக்கு வரிசைக்கு, குறியீட்டு 3 இல் இருந்து தொடங்கி, அது பின்னர் வெளியிடுகிறது. உறுப்புகளை நகலெடுத்த பிறகு இறுதி இலக்கு வரிசை. இரண்டாவது எடுத்துக்காட்டில் , System.arraycopy முறையானது மூல வரிசையில் இருந்து 1 உறுப்பை நகலெடுக்கிறது (ஏனென்றால் len = 1)src[] , குறியீட்டு 4 இல் தொடங்கி, இலக்கு வரிசைக்கு, குறியீட்டு 5 இல் தொடங்கி, உறுப்புகளை நகலெடுத்த பிறகு இறுதி இலக்கு வரிசையை வெளியிடுகிறது.

முடிவுரை

இந்த இடுகையின் முடிவில், ஜாவாவில் உள்ள java.lang.System.arraycopy முறையை நீங்கள் நன்கு அறிந்திருப்பீர்கள் என்று நம்புகிறோம் . கருத்தின் ஆழமான கட்டளைக்காக தொடர்ந்து பயிற்சி செய்யுங்கள். அதுவரை வளர்ந்து பிரகாசித்துக் கொண்டே இரு!