ArrayList और वैक्टर सरणी के तत्वों को संग्रहीत करते हैं। वे उपयोगकर्ताओं को कई ऑब्जेक्ट संग्रहीत करने की अनुमति देते हैं। इन दोनों में डेटा गतिशील रूप से संग्रहीत होता है।
चाबी छीन लेना
- ArrayList और वेक्टर जावा में आकार बदलने योग्य सरणी कार्यान्वयन हैं।
- वेक्टर सिंक्रनाइज़ है, लेकिन ArrayList नहीं है।
- ArrayList तेज़ है. वेक्टर थ्रेड-सुरक्षित है.
ArrayList बनाम वेक्टर
ArrayList एक आकार बदलने योग्य सरणी है जो सिंक्रनाइज़ नहीं है, जो इसे तेज़ बनाती है। यह तत्वों को पार करने के लिए Iterator इंटरफ़ेस का उपयोग करता है। वेक्टर एक ही प्रकार के तत्वों को संग्रहीत करता है या अंतर्निहित रूप से परिवर्तित करता है और Iterator और गणना इंटरफ़ेस दोनों का उपयोग कर सकता है। यह समकालिक है और इसलिए धीमा है।
ArrayList उपयोगकर्ता को सरणी के आकार में संशोधन करने में मदद करता है। ArrayList उपयोगकर्ता की आवश्यकता के आधार पर सरणी को छोटा या विस्तारित करता है।
वेक्टर जावा में पाया जाता है. पैकेज का उपयोग करें. यह तत्वों की एक गतिशील सरणी का समर्थन करता है जिसका अर्थ है कि सरणी आकार बदलने योग्य है। वेक्टर विरासत वर्ग से संबंधित हैं।
तुलना तालिका
तुलना के पैरामीटर | सारणी सूची | वेक्टर |
---|---|---|
तुल्यकालन | ArrayList सिंक्रोनाइज़्ड नहीं है यानी, यह विभिन्न थ्रेड्स पर एक साथ काम कर सकता है। | वेक्टर सिंक्रनाइज़ है यानी, एक पल में केवल एक थ्रेड ही कोड को संभाल सकता है। |
गति | गैर-सिंक्रनाइज़ होने के कारण इसका संचालन तेज़ है। | वेक्टर ऑपरेशन सिंक्रनाइज़ होने के कारण धीमी गति से चलते हैं। |
पुन: आकार देने | यदि तत्व अपनी क्षमता से अधिक हो जाते हैं तो ArrayList मौजूदा सरणी आकार का 50% बढ़ा देता है। | यदि तत्व अपनी क्षमता से अधिक हो जाते हैं तो वेक्टर मौजूदा सरणी आकार का 100% बढ़ जाता है। |
पसंद | प्रोग्रामर वैक्टर की तुलना में ArrayList को प्राथमिकता देते हैं। | इसे कम पसंद किया जाता है क्योंकि वैक्टर में सिंक्रोनाइज़ेशन निम्न प्रदर्शन का कारण बनता है। |
ट्रैवर्सल(पास-थ्रू) | यह तत्वों को पार करने के लिए Iterator का उपयोग करता है। | यह तत्वों को पार करने के लिए Iterator के साथ-साथ गणना का भी उपयोग कर सकता है। |
ऐरेलिस्ट क्या है?
ArrayList एक परिवर्तनीय सारणी है। यह पाया जाता है जावा. उपयोग पैकेज. ArrayList का निर्माण तब सहायक होता है जब उपयोगकर्ता को शामिल किए जाने वाले डेटा के आकार का पता नहीं होता है।
ArrayList उपयोगकर्ताओं को तत्वों को जोड़ने, तत्वों को हटाने, तत्वों को बदलने और लूप संचालन के बुनियादी संचालन करने देता है।
ArrayList एकाधिक परिचालनों का समर्थन करता है।
- तत्व जोड़ने के लिए: तत्वों को जोड़ने के लिए ऐड() ऑपरेशन का उपयोग करें।
- किसी भी तत्व तक पहुँचने के लिए: तत्वों को get() विकल्प का उपयोग करके एक्सेस किया जा सकता है। तत्वों तक एक इंडेक्सर का उपयोग करके पहुंचा जाता है, जो शून्य से शुरू होता है।
- किसी तत्व को बदलने के लिए: किसी विशिष्ट तत्व में परिवर्तन करने के लिए, सेट() ऑपरेशन का उपयोग करें।
- तत्वों को हटाने के लिए: ये तीन ऑपरेशन ArrayList में तत्वों को हटाने के लिए रिमूव(), रिमूवरेंज( , ), और रिमूवएट का उपयोग किया जाता है।
ArrayList इसके आकार से संचालित होता है। हालाँकि, इसे तत्वों को जोड़कर विस्तारित किया जा सकता है और तत्वों को हटाकर छोटा किया जा सकता है।
Java ArrayList में कोई तत्व मौजूद है या नहीं, यह जाँचने के लिए निम्नलिखित दो विधियों का उपयोग किया जाता है।
- रोकना()
- के सूचकांक()
वेक्टर क्या है?
वेक्टर को एक विरासत वर्ग माना जाता है जो सिंक्रनाइज़ है। यदि संचालन के लिए एकाधिक थ्रेड की आवश्यकता होती है, तो कोई भी दो थ्रेड एक साथ काम नहीं कर सकते हैं।
वेक्टर को थ्रेड-सुरक्षित माना जाता है। थ्रेड सुरक्षा उपयोगकर्ताओं को यह सुनिश्चित करती है कि सभी थ्रेड उचित रूप से कार्य करें और अवांछित इंटरैक्शन के बिना उनके डिज़ाइन मानदंडों को पूरा करें।
वेक्टर, वेक्टर के आकार को विस्तारित या छोटा करके तत्वों को जोड़ना या हटाना सुनिश्चित करता है। वहाँ हो सकता है कुछ मामले जहां उपयोगकर्ता को किसी सरणी की लंबाई के संबंध में पूर्व ज्ञान नहीं होता है।
वेक्टर, ArrayList की तरह, उपयोगकर्ताओं को तत्वों को जोड़ने, तत्वों को हटाने, तत्वों को बदलने और लूप संचालन के बुनियादी संचालन करने देता है।
- तत्व जोड़ने के लिए: तत्वों को जोड़ने के लिए ऐड() ऑपरेशन का उपयोग करें।
- तत्वों को बदलने के लिए: तत्वों को बदलने के लिए सेट() ऑपरेशन का उपयोग करें। वैक्टर में तत्वों को उनके सूचकांक द्वारा जिम्मेदार ठहराया जाता है।
- तत्वों को हटाने के लिए: वेक्टर से तत्वों को हटाने के लिए रिमूव() विधि का उपयोग करें।
वेक्टर बुनियादी बताए गए ऑपरेशनों के अलावा अन्य सिंप्लेक्स ऑपरेशनों का भी समर्थन करता है।
ArrayList और वेक्टर के बीच मुख्य अंतर
- ArrayList ऑपरेशन थ्रेड-सुरक्षित नहीं हैं, जबकि वेक्टर ऑपरेशन थ्रेड-सुरक्षित हैं।
- ArrayList एक संग्रह वर्ग है, जबकि वेक्टर एक विरासत वर्ग है।
- https://dl.acm.org/doi/abs/10.1145/1044550.1041666
- https://dl.acm.org/doi/abs/10.1145/3394451.3397204
अंतिम अद्यतन: 19 जुलाई, 2023
संदीप भंडारी ने थापर विश्वविद्यालय (2006) से कंप्यूटर में इंजीनियरिंग में स्नातक की उपाधि प्राप्त की है। उनके पास प्रौद्योगिकी क्षेत्र में 20 वर्षों का अनुभव है। उन्हें डेटाबेस सिस्टम, कंप्यूटर नेटवर्क और प्रोग्रामिंग सहित विभिन्न तकनीकी क्षेत्रों में गहरी रुचि है। आप उनके बारे में और अधिक पढ़ सकते हैं जैव पृष्ठ.
मुझे ArrayList और वेक्टर के बीच गहन तुलना पसंद आई। आकार बदलने का उदाहरण विशेष रूप से उपयोगी था।
हाँ, आकार बदलने की विशिष्टताएँ दोनों के बीच एक महत्वपूर्ण अंतर हैं। बढ़िया व्याख्या.
अकादमिक स्रोतों से उपलब्ध कराए गए संदर्भ लेख की विश्वसनीयता को बढ़ाते हैं। बढ़िया जोड़.
मैं सहमत हूं, संदर्भ सामग्री में एक आधिकारिक स्पर्श जोड़ते हैं।
ArrayList और वेक्टर का अवलोकन बहुत विस्तृत और जानकारीपूर्ण है। लेख इन अवधारणाओं की गहन समझ प्रदान करता है।
मैं सहमत हूं, यह जावा में इन मूलभूत डेटा संरचनाओं को समझने के लिए एक उत्कृष्ट मार्गदर्शिका है।
सरणी आकार बदलने की बारीकियां बहुत मददगार थीं। लेख की व्यावहारिक अंतर्दृष्टि की बहुत सराहना की जाती है।
बिल्कुल, व्यावहारिक उदाहरण लेख में अत्यधिक मूल्य जोड़ते हैं।
आकार बदलने के वास्तविक दुनिया के निहितार्थ सामग्री को अत्यधिक प्रासंगिक बनाते हैं।
ArrayList और वेक्टर सुविधाओं का विवरण बहुत अच्छी तरह से संरचित है। इसे समझना आसान है.
निश्चित रूप से, संरचना तुलना को समझने में बहुत आसान बनाती है।
मैं जावा में नया हूं, इसलिए मैं विस्तृत स्पष्टीकरण की सराहना करता हूं। यह मेरे लिए मददगार होगा.
मैं पूरी तरह से सहमत हुँ। जानकारी बहुत प्रभावशाली ढंग से प्रस्तुत की गई है.
हां, यह आलेख ArrayList और वेक्टर के बीच अंतर की स्पष्ट समझ प्रदान करता है।
लेख प्रभावी ढंग से जटिल अवधारणाओं को आसानी से समझने योग्य बिंदुओं में तोड़ देता है। शिक्षार्थियों के लिए बढ़िया.
बिल्कुल, स्पष्टीकरणों में सरलता इसे शुरुआती लोगों के लिए बहुत सुलभ बनाती है।
संचालन और कार्यप्रणाली की स्पष्ट व्याख्या इस लेख को जावा डेवलपर्स के लिए एक मूल्यवान संसाधन बनाती है।
बिल्कुल, यह लेख शुरुआती और अनुभवी डेवलपर्स दोनों के लिए एक बेहतरीन संदर्भ है।
यह आलेख एक व्यापक सिंहावलोकन प्रदान करता है. मुख्य अंतरों का विवरण बहुत जानकारीपूर्ण है।
बिल्कुल, तुलना तालिका भेदों का संक्षिप्त सारांश प्रस्तुत करती है।
मुझे ट्रैवर्सल तकनीकों का विवरण भी काफी ज्ञानवर्धक लगा।
प्रदान किए गए विस्तृत संचालन और भेद अत्यंत सहायक हैं। बढ़िया पढ़ा!
सहमत हूँ, लेख प्रमुख पहलुओं को उजागर करने में उत्कृष्ट कार्य करता है।
इन डेटा संरचनाओं को समझने के लिए लेख निश्चित रूप से एक महान शिक्षण संसाधन है।