सरणियों का हेरफेर प्रोग्रामिंग में एक मौलिक अवधारणा है, और आज के लेख में, हम जावा में **एक 2डी सरणी की प्रतिलिपि बनाने** पर ध्यान केंद्रित करने जा रहे हैं। हम इस विषय की पेचीदगियों का पता लगाएंगे और शामिल पद्धतियों और तकनीकों पर गहराई से नज़र डालेंगे। 2D सरणी को डुप्लिकेट करने का सबसे आसान तरीका एक नई सरणी बनाना और मूल के माध्यम से पुनरावृति करना है। हालाँकि, यह प्रक्रिया हमेशा उतनी सरल नहीं होती जितनी दिखती है। इस लेख में, हम 2D समस्या में कॉपी ऐरे से निपटेंगे, प्रासंगिक पुस्तकालयों या कार्यों पर चर्चा करेंगे, और 2D सरणियों को सीखने और जावा में उनके संचालन के लिए एक व्यापक गाइड प्रदान करेंगे।
2D सरणी की प्रतिलिपि बनाने की समस्या का समाधान 1D सरणी की प्रतिलिपि बनाने जितना सीधा नहीं है क्योंकि केवल आंतरिक सरणियों के संदर्भों की प्रतिलिपि बनाने से स्वयं उप-सरणियों की गहरी प्रतिलिपियाँ नहीं बनेंगी। इस समस्या को हल करने के लिए कई दृष्टिकोण हैं, और हम इस तरह की एक विधि पर विस्तार से चर्चा करेंगे, कोड की चरण-दर-चरण परीक्षा, और इसके कार्यान्वयन।
पहले, चलिए एक ऐसा फंक्शन बनाते हैं जो एक 2D ऐरे को कॉपी करता है:
सार्वजनिक स्थैतिक int [] [] copy2DArray (int [] [] मूल) {
int [] [] प्रतिलिपि = नया int [मूल लंबाई] [];
for (int i = 0; i < original.length; i++) { कॉपी [i] = Arrays.copyOf (मूल [i], मूल [i] .length); } रिटर्न कॉपी; } [/ कोड] उपरोक्त कोड में, हम `copy2DArray` नामक एक फ़ंक्शन को परिभाषित करके शुरू करते हैं जो इसके पैरामीटर के रूप में **मूल** नामक 2डी पूर्णांक सरणी लेता है। फ़ंक्शन को परिभाषित करने के बाद, हम मूल सरणी के समान लंबाई के साथ **कॉपी** नामक एक नई 2D सरणी बनाते हैं। फिर हम मूल सरणी के तत्वों के माध्यम से पुनरावृति करने के लिए for लूप का उपयोग करते हैं और उन्हें `java.util.Arrays` लाइब्रेरी से `Arrays.copyOf()` विधि का उपयोग करके नए सरणी में कॉपी करते हैं। यह विधि उपसरणियों की एक गहरी प्रतिलिपि बनाती है। अंत में, हम 2D सरणी की प्रति लौटाते हैं।
2D Arrays को समझना
जावा में, **2D सरणी** अनिवार्य रूप से सरणियों की एक सरणी है। इसे पंक्तियों और स्तंभों वाली तालिका के रूप में देखा जा सकता है। तत्वों को दो सूचकांकों का उपयोग करके पहुँचा जा सकता है: एक पंक्ति के लिए, और दूसरा स्तंभ के लिए। जावा में 2डी सरणियों के साथ काम करते समय, दोनों सूचकांकों का ट्रैक रखना आवश्यक है, ताकि आप डेटा तक सही ढंग से पहुंच और हेरफेर कर सकें।
- निम्नलिखित सिंटैक्स का उपयोग करके एक 2D सरणी बनाई गई है:
`डेटा प्रकार [] [] सरणी नाम = नया डेटा प्रकार [पंक्ति आकार] [स्तंभ आकार];` - 2डी सरणी में तत्वों को दो सूचकांकों के साथ एक्सेस किया जा सकता है: `arrayName[row][column];`
- 2D सरणी के माध्यम से पुनरावृत्ति में आमतौर पर नेस्टेड लूप शामिल होते हैं।
आगे गोता लगाने से पहले 2D में सरणी कॉपी करें, यह समझना महत्वपूर्ण है कि उपसरणियों की गहरी प्रतियां बनाना क्यों महत्वपूर्ण है। एक उथली प्रतिलिपि केवल उपसरणियों के संदर्भों की प्रतिलिपि बनाएगी, और मूल में किए गए कोई भी परिवर्तन प्रतिलिपि को भी प्रभावित करेंगे। गहरी प्रतियाँ बनाकर, हम यह सुनिश्चित करते हैं कि एक सरणी में परिवर्तन दूसरे को प्रभावित न करें।
Java.util.Arrays लाइब्रेरी
हमारे समाधान में, हमने `java.util.Arrays` पुस्तकालय का उपयोग किया, जो सरणियों के साथ काम करने के लिए उपयोगी उपयोगिता विधियाँ प्रदान करता है। किसी 2D सरणी को कॉपी करने की विशिष्ट समस्या के लिए, हमने उपसरणियों की गहरी प्रतियाँ बनाने के लिए `Arrays.copyOf()` विधि का उपयोग किया।
- `Arrays.copyOf()` विधि मूल सरणी की एक गहरी प्रति बनाता है। इसमें दो पैरामीटर होते हैं: मूल सरणी और नई सरणी की लंबाई।
- इस लाइब्रेरी की अन्य उपयोगी विधियों में `Arrays.fill()`, `Arrays.sort()`, और `Arrays.binarySearch()` शामिल हैं।
अंत में, जावा में एक 2D सरणी की प्रतिलिपि बनाने के लिए मूल सरणी में प्रतिलिपि को प्रभावित करने से रोकने के लिए एक गहरी प्रति की आवश्यकता होती है। हमने `java.util.Arrays` लाइब्रेरी से `Arrays.copyOf()` विधि का उपयोग करके एक समाधान प्रदर्शित किया, और बनाया गया फ़ंक्शन कुशल और समझने में आसान दोनों है। 2D सरणियों, Java.util.Arrays लाइब्रेरी और सरणी हेरफेर की हमारी गहरी समझ के साथ, अब हम जावा में अधिक आत्मविश्वास और अधिक मजबूत समाधानों के साथ अन्य चुनौतियों का सामना कर सकते हैं।