CodeGym /Java Blog /अनियमित /जावा में ऐरे को ऐरेलिस्ट में बदलना
John Squirrels
स्तर 41
San Francisco

जावा में ऐरे को ऐरेलिस्ट में बदलना

अनियमित ग्रुप में प्रकाशित
नमस्ते! आज के पाठ में, हम बात करेंगे कि जावा में एक ऐरे को कैसे इनिशियलाइज़ किया जाए और ऐरे को एक ऐरेलिस्ट में कैसे बदला जाए। सरणी जावा में कंटेनर वर्ग का एक विस्तार है और डेटा की मात्रा विशेष रूप से ज्ञात होने पर आदिम डेटा प्रकारों के एक सेट को अस्थायी रूप से रखने के तरीके के रूप में उपयोगी हो सकता है। लेकिन बनाते समय सरणियाँ स्थिर होती हैं, जिसका अर्थ है कि जब आप एक बनाते हैं, तो आप इसमें रखे गए आइटमों की संख्या को नहीं बदल सकते। आपको याद रखना चाहिए कि जावा में एक ऐरे को कैसे इनिशियलाइज़ किया जाता है; यह इस तरह दिख रहा है:

datatype[] isArray;
जहाँ डेटाटाइप कोई भी आदिम डेटा प्रकार है जैसे कि इंट, फ्लोट, लॉन्ग या स्ट्रिंग। आप कोष्ठकों को घोषणा के बाद भी रख सकते हैं जैसे:

datatype isArray[];
तो हम इस स्थिर सरणी को तत्वों की एक निर्धारित संख्या के साथ कैसे लेते हैं और इसे एक ArrayList में परिवर्तित करते हैं? ठीक है, पहले देखते हैं कि एक ArrayList क्या है।

द एरेलिस्ट

एक ArrayList का नाम Array के समान हो सकता है लेकिन इसे पूरी तरह से अलग तरीके से हैंडल किया जाता है। ऐसा इसलिए है क्योंकि एक ArrayList कंटेनर वर्ग का विस्तार नहीं करता है, यह सूची वर्ग का विस्तार करता है। और इसका मतलब है कि सब कुछ अलग तरीके से हैंडल किया जाता है। एक बात के लिए, क्योंकि यह एक सूची है, आप इसे अलग तरह से जोड़-तोड़ कर सकते हैं। आप ऐड (तत्व) का उपयोग करके ArrayList के आकार को बढ़ा या घटा सकते हैं , जो तत्व को सूची के अंत में रखता है और यदि आवश्यक हो तो आकार को एक से बढ़ा देता है। या आप trimToSize() का उपयोग कर सकते हैंजो अंत में किसी भी खाली इंडेक्स को हटा देता है और ArrayList को उसके वर्तमान आकार में ट्रिम कर देता है। तो आप देख सकते हैं कि केवल एक सरणी के बजाय एक ArrayList का उपयोग करने के कुछ फायदे हैं। आगे हम आपको एक ऐरे से एक ऐरेलिस्ट में बदलने के लिए दो तरीके दिखाने जा रहे हैं और जरूरत पड़ने पर वापस कैसे जाना है।

जावा में Array से ArrayList और ArrayList से Array में जाना

तो, मान लें कि आपने बिल्ली के पेड़ों की मरम्मत के लिए आपकी कंपनी के पास कितने नट और बोल्ट हैं, इसकी एक सूची रखने के लिए एक कार्यक्रम लिखा है। वर्षों से, आपको केवल 30 अलग-अलग प्रकारों की आवश्यकता है, इसलिए ट्रैक रखने के लिए केवल एक सरणी का उपयोग करना आसान हो गया है। लेकिन अब आपके पास एक नया ग्राहक है जिसके लिए आपको अतिरिक्त 5 प्रकारों को स्टॉक करने की आवश्यकता है। आप अपना प्रोग्राम कैसे बदल सकते हैं और अपना सारा डेटा कैसे रख सकते हैं, और जब आप किसी अन्य क्लाइंट को चुनते हैं तो खुद को ऐसा करने से कैसे रोक सकते हैं? यह सही है! एक ऐरेलिस्ट! तो आप जावा ऐरे को ऐरेलिस्ट में कैसे परिवर्तित करते हैं? तीन तरीके हैं। .asList() मेथड का उपयोग करते हुए जावा सरणियों में एक बेहतरीन टूल है जिसे आप .asList() नामक एपीआई को देखने पर देख सकते हैं । तो आप इसमें बस लिख सकते हैं:

boltInventory.asList(bolts);
इस पद्धति के साथ समस्या यह है कि यह एक वास्तविक ArrayList नहीं बनाती है। यह क्या करता है एक सूची बनाता है जो आकार और अपरिवर्तनीय है। तो आप अभी भी आकार को गतिशील तरीके से नहीं बदल सकते हैं। तत्वों को जोड़ने या निकालने का प्रयास करने से अपवाद होगा। तो जबकि इसके उपयोग हैं, यह एक सच्चा रूपांतरण नहीं है। लेकिन हम इसका इस्तेमाल कर सकते हैं। तर्क के रूप में .asList() का उपयोग करना यह जावा में किसी सरणी को सूची में बदलने का दूसरा तरीका है। क्योंकि .asList () पद्धति एक सूची बनाती है, हम इसका उपयोग अपने वास्तविक ArrayList के संदर्भ को पारित करने के लिए कर सकते हैं। यहाँ एक ArrayList को इनिशियलाइज़ करने का तरीका बताया गया है:

ArrayList<Integer> boltsInventory = new ArrayList<Integer>();
यह एक ArrayList बनाएगा जिसमें दस खाली सेल होंगे। हालाँकि, अंत में () का उपयोग ArrayList को भरने के लिए एक तर्क पारित करने के लिए किया जा सकता है। तो .asList विधि के साथ संयोजन करके, आपके पास:

ArrayList<Integer> boltsInventory = new ArrayList<Integer>(Arrays.asList(bolts));
यह .asList() विधि द्वारा बनाई गई सूची को ArrayList में पास करता है, इसलिए अब आप इसे आवश्यकतानुसार गतिशील रूप से जोड़ सकते हैं। Collections.addAll() विधि का उपयोग करना जावा में एक सरणी को एक ArrayList में बदलने का दूसरा तरीका इस विधि का उपयोग करना है। यह Array की सामग्री को ArrayList को पास करता है। इस पद्धति के लिए सामान्य सिंटैक्स है:

Collections.addAll(c, T);
जहाँ c गंतव्य है और T वह है जो पारित किया जा रहा है। तो हमारे उदाहरण के लिए, सिंटैक्स इस तरह दिखेगा:

ArrayList<Integer> boltsInventory = new ArrayList<Integer>():
Collections.addAll(boltsInventory, bolts);
यह ऐरे बोल्ट की संपूर्ण सामग्री को नई ऐरेलिस्ट में पास कर देगा। ArrayList को Array में बदलना एक समय हो सकता है जब आपको ArrayList को Java में Array में बदलने की आवश्यकता हो। यदि आप करते हैं, तो ArrayList के पास .toArray(a) विधि है , जहाँ a गंतव्य है। तो हमारे उदाहरण के लिए, सिंटैक्स होगा:

Integer boltsInventoryArray[] = new Integer{boltsInventory.size()];
// this ensures the newly created array is of the same size as the ArrayList
boltsInventoryArray = boltsInventory.toArray(boltsInventoryArray);
जब आप इस तरह जावा में एक सूची को सरणी में बदलते हैं, तो आप एक गहरी प्रतिलिपि बना रहे हैं। यही है, ऐरे के सभी संदर्भ ऐरेलिस्ट के संदर्भों से अलग हैं। तो आप ArrayList में संग्रहीत डेटा को बदले बिना ऐरे में डेटा में हेरफेर कर सकते हैं। जब आपको डेटा का परीक्षण करने की आवश्यकता होती है, तो जावा सूची को सरणी में बदलना उपयोगी होता है।

निष्कर्ष

छोटे डेटा सेटों के त्वरित उपयोग और त्वरित हेरफेर के लिए सरणियाँ बहुत उपयोगी हैं, लेकिन उनके आकार को बदलने में असमर्थता का मतलब है कि वे दीर्घकालिक उपयोग के लिए जल्दी से दक्षता खो देते हैं। एक ArrayList आपको वह लचीलापन और आवश्यकतानुसार नोड्स डालने और निकालने की क्षमता देता है। जावा ऐरे को सूची में बदलने का तरीका सीखने से आपके कार्यक्रमों की समग्र दक्षता में सुधार होगा और साथ ही उनके रनटाइम में भी सुधार होगा।
टिप्पणियां
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION