जावा में सूची और सरणी के बीच अंतर

लेखक: Laura McKinney
निर्माण की तारीख: 2 अप्रैल 2021
डेट अपडेट करें: 15 मई 2024
Anonim
Gson Tutorial — Mapping of Arrays and Lists of Objects
वीडियो: Gson Tutorial — Mapping of Arrays and Lists of Objects

विषय


सूची और ArrayList संग्रह ढांचे के सदस्य हैं। सूची एक अनुक्रम में तत्वों का एक संग्रह है जहां प्रत्येक तत्व एक वस्तु है और तत्वों को वहां स्थिति (सूचकांक) द्वारा पहुँचा जाता है। ArrayList वस्तुओं की एक गतिशील सरणी बनाता है जो आवश्यकता होने पर आकार में बढ़ता या घटता है। सूची और सरणी के बीच प्राथमिक अंतर यह है कि सूची एक इंटरफ़ेस है और सारणी सूची एक वर्ग है। नीचे दिए गए तुलना चार्ट की मदद से सूची और सरणी के बीच के अंतर का अध्ययन करते हैं।

  1. तुलना चार्ट
  2. परिभाषा
  3. मुख्य अंतर
  4. निष्कर्ष

तुलना चार्ट

तुलना के लिए आधारसूचीसारणी सूची
बुनियादीसूची एक इंटरफ़ेस हैArrayList एक मानक संग्रह कक्षा है।
वाक्य - विन्यासइंटरफ़ेस सूचीवर्ग ArrayList
बढ़ाएँ / लागूसूची इंटरफ़ेस संग्रह रूपरेखा का विस्तार करता है।ArrayList AbstractList को लागू करता है और सूची इंटरफ़ेस को लागू करता है।
नाम स्थानSystem.Collections.Generic।System.Collections।
कामइसका उपयोग तत्वों (वस्तुओं) की एक सूची बनाने के लिए किया जाता है जो उनके सूचकांक संख्याओं से जुड़े होते हैं।ArrayList का उपयोग एक गतिशील सरणी बनाने के लिए किया जाता है जिसमें ऑब्जेक्ट होते हैं।


सूची की परिभाषा

सूची एक है इंटरफेस जिसका विस्तार होता है संग्रह ढांचा। सूची इंटरफ़ेस उन तत्वों के संग्रह का वर्णन करता है जो क्रमिक रूप से व्यवस्थित होते हैं। सूची इंटरफ़ेस निम्नलिखित मानक संग्रह वर्गों द्वारा कार्यान्वित किया जाता है जैसे कि ArrayList, LinkedList, CopyOnWriteArrayList, वेक्टर, स्टैक। सूची इंटरफ़ेस में ऐसे तत्व होते हैं जो उनके सूचकांक संख्याओं से जुड़े होते हैं। आप सूची में किसी तत्व को सूची में उसकी स्थिति (इंडेक्स) द्वारा एक्सेस कर सकते हैं। सूची इंटरफ़ेस का उपयोग करके बनाई गई सूची शून्य आधारित सूचकांक के साथ शुरू होती है।

संग्रह ढांचे द्वारा विरासत में मिली विधियों के अलावा, सूची इंटरफ़ेस स्वयं की कुछ विधि को भी परिभाषित करता है। सूची इंटरफ़ेस द्वारा जोड़े गए तरीके हैं, जोड़ें (int, E) तथा addAll (int, संग्रह)। ये विधियाँ उनके सूचकांक द्वारा सूची में एक तत्व जोड़ती हैं। सूची के अंदर के तरीके अपवाद को फेंक सकते हैं UnsupportedOperationException यदि विधि सूची को संशोधित करने में असमर्थ है। जब सूची में एक वस्तु सूची में किसी अन्य वस्तु के साथ असंगत होती है, तब ClassCastException यदि आप सूची में कोई अशक्त वस्तु सम्मिलित करने का प्रयास करते हैं, तो सूची में सभी तत्वों की अनुमति नहीं है, शून्य सूचक अपवाद फेंक दिया जाता है।


आप का उपयोग कर सूची से एक तत्व प्राप्त कर सकते हैं प्राप्त() तरीका। आप उपयोग कर सूची में किसी तत्व का मान सेट कर सकते हैं सेट() तरीका। आप विधि का उपयोग करके सूची से सबलिस्ट भी प्राप्त कर सकते हैं sublist ()। सूची के बजाय सबलिस्ट पर संचालित करना सुविधाजनक हो जाता है।

ArrayList की परिभाषा

मानक संग्रह कक्षाओं में से एक ArrayList है जो फैली हुई है AbstractList वर्ग और भी लागू करता है सूची इंटरफेस। ArrayList वर्ग का उपयोग गतिशील सरणियों को बनाने के लिए किया जाता है जो कि आवश्यक होने पर बढ़ते और सिकुड़ते हैं। ArrayList वर्ग का उपयोग करके बनाई गई सूची और कुछ नहीं केवल वस्तुओं की सरणी है। जावा में, मानक सरणी की निश्चित लंबाई है, इसलिए, आपको पहले से सरणी का आकार पता होना चाहिए। लेकिन, यह मामला हो सकता है कि आपको यह पता न हो कि रन टाइम तक आपको सरणी की किस लंबाई की आवश्यकता है। इसलिए, संग्रह की रूपरेखा ने इस समस्या को दूर करने के लिए ArrayList वर्ग की शुरुआत की।

ArrayList के पास ऐसे कंस्ट्रक्टर हैं जो अपनी इंटेलेक्चुअल क्षमता के साथ ऐरे बनाते हैं। यद्यपि एरेलेस्ट क्लास के ऑब्जेक्ट की क्षमता स्वचालित रूप से बढ़ जाती है जब तत्वों को सरणी में जोड़ा जाता है, फिर भी आप मैन्युअल रूप से एरेएलिस्ट की वस्तु की क्षमता को विधि का उपयोग करके बढ़ा सकते हैं ensureCapacity ()। बाद में मेमोरी को पुनः प्राप्त करने के बजाय शुरू में सरणी की क्षमता को बढ़ाना बेहतर है। क्योंकि एक ही बार में मेमोरी आवंटित करने की तुलना में रियलकास्ट महंगा है।

  1. सूची और सरणी के बीच सबसे महत्वपूर्ण अंतर यह है कि सूची एक है इंटरफेस और ArrayList एक मानक संग्रह है कक्षा.
  2. सूची इंटरफ़ेस का विस्तार होता है संग्रह फ्रेमवर्क, ArrayList फैली हुई है AbstractList वर्ग और यह लागू होता है सूची इंटरफेस।
  3. सूची इंटरफ़ेस का नाम स्थान है System.Collection.Generic जबकि, ArrayList का नाम स्थान है System.Collection.
  4. सूची इंटरफ़ेस उन तत्वों का एक संग्रह बनाता है जिन्हें एक अनुक्रम में संग्रहीत किया जाता है और उनकी सूची संख्या द्वारा पहचान की जाती है या उन्हें एक्सेस किया जाता है। दूसरी ओर, ArrayList उन वस्तुओं की एक सरणी बनाता है जहाँ आवश्यकता पड़ने पर सरणी गतिशील रूप से बढ़ सकती है।

निष्कर्ष:

ArrayList मानक Java में एक स्थिर सरणी के मुद्दे पर काबू पा लेता है यानी यह एक बार बन जाने के बाद सरणी आकार में नहीं बढ़ सकती। जब ArrayList का उपयोग करके एक सरणी बनाई जाती है, तो एक गतिशील सरणी बनाई जाती है जो जरूरत पड़ने पर आकार में बढ़ और सिकुड़ सकती है। मानक संग्रह वर्ग ArrayList सूची इंटरफ़ेस का विस्तार करता है।