हैशसेट और ऐरेलिस्ट दोनों ही जावा संग्रह ढांचे के कुछ सबसे महत्वपूर्ण वर्ग हैं।
ArrayList और हैशसेट के बीच महत्वपूर्ण अंतर निम्नलिखित हैं।
<टेबल> <थेड> सीनियर। नहीं. | <वें शैली="पाठ्य-संरेखण:केंद्र;">कुंजीवें> <वें शैली="पाठ्य-संरेखण:केंद्र;">ऐरेलिस्टवें> <वें शैली="पाठ्य-संरेखण:केंद्र;">हैशसेट
थड> 1 | कार्यान्वयन | ArrayList सूची इंटरफ़ेस का कार्यान्वयन है। | दूसरी ओर हैशसेट एक सेट इंटरफ़ेस का कार्यान्वयन है। |
2 | आंतरिक कार्यान्वयन | ArrayList इसके कार्यान्वयन के लिए आंतरिक रूप से सरणी लागू करता है। | HashSet इसके कार्यान्वयन के लिए आंतरिक रूप से Hashmap का उपयोग करता है। |
3 | तत्वों का क्रम | ArrayList प्रविष्टि क्रम को बनाए रखता है अर्थात उस वस्तु का क्रम जिसमें उन्हें डाला जाता है। | HashSet एक अनियंत्रित संग्रह है और किसी भी क्रम को बनाए नहीं रखता है। |
4 | डुप्लिकेट | ArrayList अपने संग्रह में डुप्लिकेट मानों की अनुमति देता है। | दूसरी ओर हैशसेट में डुप्लिकेट तत्वों की अनुमति नहीं है। |
5 | सूचकांक प्रदर्शन | ArrayList अपने प्रदर्शन के लिए अनुक्रमणिका का उपयोग करता है अर्थात इसका अनुक्रमणिका आधारित व्यक्ति get(index) को कॉल करके वस्तु को पुनः प्राप्त कर सकता है या हटाने (अनुक्रमणिका) को कॉल करके वस्तुओं को हटा सकता है | HashSet पूरी तरह से ऑब्जेक्ट पर आधारित है और यह get() विधि प्रदान नहीं करता है। |
6 | शून्य अनुमत | बिना किसी प्रतिबंध के किसी भी संख्या में शून्य मान को सरणी सूची में डाला जा सकता है। | दूसरी ओर हैशसेट अपने संग्रह में केवल एक शून्य मान की अनुमति देता है, जिसके बाद किसी भी शून्य मान को जोड़ने की अनुमति नहीं है। |
ऐरेलिस्ट बनाम हैशसेट का उदाहरण
JavaTester.java
आयात java.io.*;import java.util.*;सार्वजनिक वर्ग JavaTester {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) IOException फेंकता है {int n =5; सूची <पूर्णांक> अल =नया ऐरेलिस्ट <> (एन); के लिए (int i =1; i <=n; i++) { al.add(i); } System.out.println (अल); अल.निकालें(3); System.out.println (अल); के लिए (int i =0; i आउटपुट
[1, 2, 3, 4, 5][1, 2, 3, 5]1 2 3 5
उदाहरण
JavaTester.java
आयात करें hs.add(1); hs.add(2); hs.add(3); hs.add(4); hs.add(4); के लिए (पूर्णांक अस्थायी:एचएस) {System.out.print (अस्थायी + ""); } }}
आउटपुट
1 2 3 4