दोहराव के साथ 2डी ऐरे संशोधनों को संरक्षित करना
जावा में, ऑब्जेक्ट की प्रतियां बनाते समय, संदर्भ असाइनमेंट व्यवहार को समझना महत्वपूर्ण है। दिए गए परिदृश्य में, सामग्री को कॉपी करने के तरीकों के साथ-साथ वर्तमान और पुराने नाम के दो 2डी सरणियों को परिभाषित किया गया है।
पुरानी() विधि वर्तमान सरणी को पुराने में निर्दिष्ट करती है। हालाँकि, यह केवल संदर्भ को स्मृति में उसी सरणी में स्थानांतरित करता है। जब वर्तमान में अपडेट किए जाते हैं, तो पुराना भी इन परिवर्तनों को दर्शाता है, क्योंकि वे दोनों एक ही अंतर्निहित सरणी की ओर इशारा करते हैं।
कीपोल्ड() विधि पुरानी सरणी को वर्तमान में निर्दिष्ट करने का प्रयास करती है। फिर, यह केवल संदर्भ को अद्यतन करता है, मूल वर्तमान सरणी को अप्रभावित छोड़ देता है। परिणामस्वरूप, जब वर्तमान में अपडेट किए जाते हैं, तो पुराने की सामग्री अपरिवर्तित रहती है।
जावा में 2D सरणी की एक सच्ची प्रतिलिपि बनाने के लिए, प्रत्येक तत्व को मैन्युअल रूप से कॉपी करना आवश्यक है। वैकल्पिक रूप से, अधिक कुशल प्रतिलिपि के लिए, आप Arrays.stream().map()...toArray() विधि का उपयोग कर सकते हैं, जो प्रत्येक पंक्ति का क्लोन बनाने और उन्हें एक नई सरणी में इकट्ठा करने के लिए स्ट्रीम एपीआई को नियोजित करता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3