तीर और अर्रेलिस्ट के बीच अंतर

Anonim

एरे बनाम अर्रेलिस्ट्स

तत्वों के संग्रह को संग्रहित करने के लिए सबसे अधिक इस्तेमाल किया जाने वाला डेटा संरचना है। अधिकांश प्रोग्रामिंग भाषा सरणियों में ऐरेज़ और एक्सेस तत्वों को आसानी से घोषित करने के तरीकों को प्रदान करते हैं। सरणी सूची को एक गतिशील सरणी के रूप में देखा जा सकता है, जो आकार में बढ़ सकता है। इस कारण के कारण, प्रोग्रामर को सरणी सूची के आकार को जानने की आवश्यकता नहीं है, जब वह इसे परिभाषित कर रही है।

एरेज़ क्या हैं?

आंकड़ा 1 में दिखाया गया, कोड का एक टुकड़ा आम तौर पर एक सरणी के मूल्यों को घोषित करने और निर्दिष्ट करने के लिए उपयोग किया जाता है। चित्रा 2 में दर्शाया गया है कि स्मृति में कैसे एक सरणी दिखाई देगी

पूर्णांक मान [5];

मान [0] 100 =;

मान [1] = 101;

मान [2] 102 =;

-2 ->

मान [3] = 103;

मान [4] 104 =;

चित्रा 1: सरणी के लिए मूल्यों को घोषित करने और निर्दिष्ट करने के लिए कोड

100 101 102 103 104
अनुक्रमणिका: 0 1 2 < 3 4
चित्रा 2: स्मृति में संग्रहीत सरणी

कोड के ऊपर, एक सरणी को परिभाषित करता है जो 5 पूर्णांक संचय कर सकता है और इन्हें इंडेक्स 0 से 4 तक पहुंचाए जाते हैं। एक सरणी की एक महत्वपूर्ण संपत्ति यह है कि, पूरी सरणी को स्मृति के एक ब्लॉक के रूप में आवंटित किया जाता है और प्रत्येक तत्व को सरणी में अपनी जगह मिलती है। एक सरणी परिभाषित होने के बाद, इसका आकार तय हो जाता है इसलिए यदि आप संकलन समय पर सरणी के आकार के बारे में निश्चित नहीं हैं, तो आपको सुरक्षित पक्ष में एक बड़ी पर्याप्त सरणी को परिभाषित करना होगा। लेकिन, ज्यादातर समय, हम वास्तव में आवंटित किए गए तत्वों की कम संख्या का उपयोग करने जा रहे हैं। इसलिए स्मृति की काफी मात्रा वास्तव में व्यर्थ है दूसरी तरफ अगर "बड़ी पर्याप्त सरणी" वास्तव में बड़ी नहीं है, तो कार्यक्रम क्रैश हो जाएगा।

अर्रेलिस्ट क्या हैं?

एक सरणी सूची को एक गतिशील सरणी के रूप में देखा जा सकता है, जो आकार में बढ़ सकता है। इसलिए स्थिति में उपयोग करने के लिए सरलीसूची आदर्श होते हैं जिसमें आप घोषणा के समय आवश्यक तत्वों के आकार को नहीं जानते हैं। जावा में, ऑर्लेलिस्ट केवल ऑब्जेक्ट को पकड़ सकता है, वे आदिम प्रकारों को सीधे पकड़ नहीं सकते (आप एक ऑब्जेक्ट के अंदर आदिम प्रकार डाल सकते हैं या आदिम प्रकार के आवरण वर्गों का उपयोग कर सकते हैं)। आम तौर पर प्रविष्टियों, हटाए जाने और खोज करने के लिए सरलीसूची को तरीकों से प्रदान किया जाता है। एक तत्व तक पहुंचने की जटिलता ओ (1) है, जबकि सम्मिलन और विलोपन में ओ (एन) की एक समय की जटिलता है। जावा में, अग्रसारण लूप, इटरेटर्स का प्रयोग करके या इंडेक्सस का उपयोग करके सरलीकृतों का पता लगाया जा सकता है।

एरेज़ और अर्रेलिस्ट्स के बीच अंतर क्या है

हालांकि सरणियों और सरणीएं इस अर्थ में समान हैं कि इन दोनों को तत्वों के संग्रह को संग्रहित करने के लिए उपयोग किया जाता है, वे अलग-अलग तरीके से परिभाषित होते हैं। सरणी का आकार दिया जाना चाहिए, जब कोई सरणी परिभाषित हो जाती है, लेकिन आप वास्तविक आकार को जानने के बिना एक सरणी सूची को परिभाषित कर सकते हैं। आप परिभाषित होने के बाद तत्वों को जोड़ सकते हैं और यह सरणियों के साथ संभव नहीं है।लेकिन जावा में, सरलीकृत आदिम प्रकारों को पकड़ नहीं सकते हैं, लेकिन प्राचीन प्रकारों को रखने के लिए सरणियों का इस्तेमाल किया जा सकता है। लेकिन अगर आपको डेटा संरचना की आवश्यकता होती है जो उसके आकार में भिन्न हो सकती है, तो सरणी सूची सर्वश्रेष्ठ विकल्प होगी।