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