इस पोस्ट में, हम जावा में ArrayList और Vector के बीच अंतर को समझेंगे।
ArrayList
यह सिंक्रोनाइज़्ड नहीं है।
यदि तत्वों की संख्या ArrayList की क्षमता से अधिक हो जाती है, तो यह वर्तमान सरणी आकार को 50 प्रतिशत बढ़ा देता है।
यह थ्रेड-सेफ नहीं है।
इसे JDK 1.2 में पेश किया गया था।
यह केवल इटरेटर का उपयोग करके ट्रैवर्स कर सकता है।
यह एलिमेंट्स के माध्यम से ट्रैवर्स करने के लिए Iterator इंटरफेस का उपयोग करता है।
उदाहरण
ArrayList<T> al = new ArrayList<T>();
Vector
यह सिंक्रोनाइज़्ड है।
यह थ्रेड सेफ है।
यह एक लिगेसी क्लास है।
यह धीमा है, क्योंकि यह सिंक्रोनाइज़्ड है।
यदि तत्वों की संख्या Vector की क्षमता से अधिक हो जाती है, तो यह वर्तमान सरणी आकार को 100 प्रतिशत बढ़ा देता है।
यह एन्यूमरेटर और इटरेटर दोनों का उपयोग करके ट्रैवर्स कर सकता है।
इसे ArrayList पर प्राथमिकता दी जाती है।
यह मल्टी-थ्रेडिंग वातावरण प्रदान करता है।
यह अन्य थ्रेड्स को रननेबल या नॉन-रननेबल स्टेट में रखता है, जब तक वर्तमान थ्रेड विशिष्ट ऑब्जेक्ट पर लॉक जारी नहीं करता।
यह एलिमेंट्स के माध्यम से ट्रैवर्स करने के लिए या तो 'Iterator' इंटरफेस या Enumeration इंटरफेस का उपयोग कर सकता है।
उदाहरण
Vector<T> v = new Vector<T>();