এই পোস্টে, আমরা জাভাতে অ্যারেলিস্ট এবং ভেক্টরের মধ্যে পার্থক্য বুঝতে পারব।
অ্যারেলিস্ট
-
এটা সিঙ্ক্রোনাইজ করা হয় না।
-
যদি উপাদানের সংখ্যা ArrayList-এর ক্ষমতা অতিক্রম করে, তাহলে এটি বর্তমান অ্যারের আকার 50 শতাংশ বৃদ্ধি করে।
-
এটি থ্রেড-নিরাপদ নয়।
-
এটি JDK 1.2 এ চালু করা হয়েছিল।
-
এটি শুধুমাত্র ইটারেটর ব্যবহার করতে পারে।
-
যেহেতু এটি অ-সিঙ্ক্রোনাইজড, তাই এটি দ্রুত।
-
এটি উপাদানগুলির মধ্য দিয়ে যেতে ইটারেটর ইন্টারফেস ব্যবহার করে৷
উদাহরণ
ArrayList<T> al = new ArrayList<T>();
ভেক্টর
-
এটি সিঙ্ক্রোনাইজ করা হয়৷
৷ -
এটি থ্রেড নিরাপদ।
-
এটি একটি উত্তরাধিকার শ্রেণী৷
৷ -
এটি ধীর, যেহেতু এটি সিঙ্ক্রোনাইজ করা হয়েছে৷
৷ -
যদি উপাদানের সংখ্যা ভেক্টরের ক্ষমতা অতিক্রম করে, তাহলে এটি বর্তমান অ্যারের আকারকে 100 শতাংশ বৃদ্ধি করে।
-
এটি অতিক্রম করার জন্য গণনাকারী এবং পুনরাবৃত্তিকারী ব্যবহার করতে পারে।
-
এটি অ্যারেলিস্টের চেয়ে পছন্দের৷
৷ -
এটি একটি মাল্টি-থ্রেডিং পরিবেশ প্রদান করে।
-
বর্তমান থ্রেড নির্দিষ্ট বস্তুর উপর লক প্রকাশ না করা পর্যন্ত এটি অন্যান্য থ্রেডগুলিকে চলমান বা অ-চালিত অবস্থায় ধরে রাখে।
-
উপাদানগুলির মধ্য দিয়ে যেতে এটি হয় 'Iterator' ইন্টারফেস বা গণনা ইন্টারফেস ব্যবহার করতে পারে৷
উদাহরণ
Vector<T> v = new Vector<T>();