जावा System.arraycopy () विधि क्या है?

Java.lang.System.arraycopy() मेथड एक सोर्स ऐरे को एक खास शुरुआती पोजीशन पर, दिए गए इंडेक्स पर डेस्टिनेशन पर कॉपी करता है।
यह विधि java.lang.System वर्ग की है । यह किसी दिए गए स्रोत सरणी से निर्दिष्ट लंबाई के उप-सरणी की सामग्री को गंतव्य सरणी नामक अन्य सरणी में कॉपी करता है। स्रोत सरणी को src और गंतव्य सरणी को dest के रूप में संदर्भित किया जाता है । तत्वों की संख्या लेन तर्क द्वारा दी गई है।

Java System.arraycopy() विधि घोषणा

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. लेन : यह उन तत्वों की संख्या है जिन्हें स्रोत सरणी से गंतव्य सरणी में कॉपी करने की आवश्यकता होती है।

कार्यक्षमता

एरेकॉपी विधि srcIndex से srcIndex +( len - 1) तत्वों तक srcIndex से शुरू होकर 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] + " ");
    }
}

उत्पादन

लेन: 2 srcIndex: 2 src: सोमवार मंगलवार बुधवार गुरुवार शुक्रवार शनिवार रविवार गंतव्य: 3 गंतव्य: जनवरी फरवरी मार्च अप्रैल मई जून जुलाई अगस्त अंतिम गंतव्य सरणी: जनवरी फरवरी मार्च बुधवार गुरुवार जून जुलाई अगस्त

बदलते मापदंडों का उदाहरण


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

उत्पादन

लेन: 1 srcIndex: 4 src: सोमवार मंगलवार बुधवार गुरुवार शुक्रवार शनिवार रविवार गंतव्य: 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 विधि से परिचित हो गए होंगे। अवधारणा के गहरे आदेश के लिए अभ्यास करते रहें। तब तक, बढ़ते रहो और चमकते रहो!