জাভাতে অ্যারেলিস্ট এবং ভেক্টরের মধ্যে পার্থক্য
কন্টেন্ট
অ্যারেলিস্ট এবং ভেক্টর উভয়ই কালচার ফ্রেমওয়ার্ক হায়ারার্কির অধীনে ক্লাস। অ্যারেলিস্ট এবং ভেক্টর, উভয়ই অবজেক্টগুলির গতিশীল অ্যারে তৈরি করতে ব্যবহৃত হয় যেখানে প্রয়োজন অনুসারে অ্যারে আকারে বাড়তে পারে। অ্যারেলিস্ট এবং ভেক্টরকে পৃথক করার জন্য দুটি বুনিয়াদি পার্থক্য রয়েছে যে ভেক্টরটি লেগ্যাসি ক্লাসের অন্তর্ভুক্ত যা পরে সংগ্রহের ক্লাসগুলিকে সমর্থন করার জন্য পুনর্নির্মাণ করা হয়েছিল, তবে একটি অ্যারেলিস্ট একটি মান সংগ্রহের শ্রেণি। আর একটি গুরুত্বপূর্ণ পার্থক্য হ'ল অ্যারেলিস্ট অন্যদিকে সিঙ্ক্রোনাইজড নয়; ভেক্টর সিঙ্ক্রোনাইজ করা হয়।
আসুন নীচে দেখানো তুলনা চার্টের সাহায্যে কিছু অন্যান্য পার্থক্য অধ্যয়ন করি।
- তুলনা রেখাচিত্র
- সংজ্ঞা
- মূল পার্থক্য
- মিল
- উপসংহার
তুলনা রেখাচিত্র
তুলনা করার জন্য বেস | ArrayList | ভেক্টর |
---|---|---|
মৌলিক | অ্যারেলিস্ট ক্লাস সিঙ্ক্রোনাইজড নয়। | ভেক্টর শ্রেণি সিঙ্ক্রোনাইজ করা হয়েছে। |
উত্তরাধিকার শ্রেণি | অ্যারেলিস্ট একটি স্ট্যান্ডার্ড কালেকশন ক্লাস। | ভেক্টর একটি উত্তরাধিকার শ্রেণি, সংগ্রহ শ্রেণিকে সমর্থন করার জন্য পুনরায় ইঞ্জিনিয়ার। |
শ্রেণির ঘোষণা ration | ক্লাস অ্যারেলিস্ট | ক্লাস ভেক্টর |
পদ্ধতিতে পুনরায় বরাদ্দকরণের | নির্দিষ্ট না করা থাকলে একটি অ্যারেলিস্ট তার আকারের অর্ধেক দ্বারা বাড়ানো হয়। | নির্দিষ্ট না করা অবস্থায়, কোনও ভেক্টর তার আকার দ্বিগুণ করতে বাড়ানো হয়। |
কর্মক্ষমতা | অ্যারেলিস্ট যেহেতু অবিচ্ছিন্ন, তাই এটি ভেক্টরের চেয়ে দ্রুত পরিচালনা করে। | যেমন ভেক্টর সিঙ্ক্রোনাইজ করা হয়েছে, এটি অ্যারেলিস্টের চেয়ে ধীর গতিতে কাজ করে। |
শুমার / ইটারেটর | অ্যারেলিস্ট অ্যারেলিস্টে সঞ্চিত বস্তুগুলি অতিক্রম করতে আইট্রেটার ইন্টারফেস ব্যবহার করে। | ভেক্টর ভেক্টরগুলিতে সঞ্চিত বস্তুগুলি অতিক্রম করতে গণনার পাশাপাশি আইট্রেটার ইন্টারফেস ব্যবহার করে। |
অ্যারেলিস্ট সংজ্ঞা
অ্যারেলিস্ট স্ট্যান্ডার্ড সংগ্রহ ক্লাসগুলির তালিকার অন্তর্গত। শ্রেণীর অ্যারেলিস্টটি এর মধ্যে সংজ্ঞায়িত করা হয় java.util প্যাকেজ, এটি প্রসারিত AbstractList বর্গ যা একটি মান সংগ্রহের ক্লাস এবং এটি প্রয়োগ করে তালিকা, সংগ্রহ ইন্টারফেসে সংজ্ঞায়িত একটি ইন্টারফেস। জাভাতে, একটি স্ট্যান্ডার্ড অ্যারে সর্বদা নির্ধারিত দৈর্ঘ্যের থাকে। এর অর্থ একবার তৈরি; এটি গতিশীলভাবে আকারে সঙ্কুচিত বা সঙ্কুচিত হয় না। সুতরাং, আপনি যে অ্যারে ব্যবহার করছেন তার দৈর্ঘ্য সম্পর্কে আপনার পূর্বের জ্ঞান থাকা উচিত। তবে, কখনও কখনও এটি ঘটতে পারে যে প্রয়োজনীয় দৈর্ঘ্যটি রানটাইম হিসাবে প্রকাশিত হয় তাই, জাভা এই ধরণের পরিস্থিতি পরিচালনা করতে অ্যারেলিস্ট চালু করে।
অ্যারেলিস্ট হ'ল একটি অ্যারের গতিশীল গঠনের জন্য ক্লাস ব্যবহৃত হয় যা অবজেক্টের রেফারেন্স ধারণ করে। যখন প্রয়োজন হয় তখন এই অ্যারেটি আকারে বাড়তে পারে। শ্রেণির ঘোষণাটি নিম্নরূপ:
ক্লাস অ্যারেলিস্ট এখানে, E একটি অ্যারে ধরে রাখবে এমন ধরণের অবজেক্টের ধরণ নির্দিষ্ট করে। তৈরি অ্যারেটি পরিবর্তনশীল দৈর্ঘ্যের এবং এটি বস্তু তালিকা থেকে বাদ দেওয়া বা অপসারণ করা হলে আকারে হ্রাস বা হ্রাস পায়। অ্যারেলিস্টটি সিঙ্ক্রোনাইজ করা হয়নি যার অর্থ, একই সময়ে একাধিক থ্রেড অ্যারেটিতে কাজ করতে পারে। উদাহরণস্বরূপ, যদি একটি থ্রেড অ্যারেতে একটি অবজেক্ট রেফারেন্স যুক্ত করে থাকে এবং অন্য থ্রেড একই সময়ে একই অ্যারে থেকে কোনও অবজেক্ট রেফারেন্স সরিয়ে ফেলছে। অ্যারেলিস্ট শ্রেণি ব্যবহার করে একটি গতিশীল অ্যারে তৈরি করা: ArrayList উপরের কোডে, আপনি এটি দেখতে পারেন; আমি স্ট্রিং ধরণের বস্তুর একটি অ্যারে তৈরি করেছি। আমি অ্যারে এস 1 এ অ্যাড () পদ্ধতিটি ব্যবহার করে কিছু বস্তু যুক্ত করেছি এবং পরে অপসারণ () পদ্ধতিটি ব্যবহার করে কিছু বস্তু মুছলাম। আপনি পর্যবেক্ষণ করতে পারবেন যদি আপনি অ্যারের প্রাথমিক আকারটি নির্দিষ্ট না করেন তবে এটি ‘0’ দৈর্ঘ্যের হবে। আপনি দেখতে পাচ্ছেন অ্যারের আকার বৃদ্ধি এবং সংকোচনের সাথে আপনি উপাদানগুলি যুক্ত করে মুছুন। ভেক্টর একটি উত্তরাধিকার শ্রেণি যা কালেকশন ফ্রেমওয়ার্ক শ্রেণিবদ্ধের সংগ্রহ শ্রেণিকে সমর্থন করার জন্য পুনর্নির্মাণ করা হয়। ভেক্টর শ্রেণিটিও সংজ্ঞায়িত করা হয়েছে java.util প্যাকেজ, দ্বারা প্রসারিত AbstractList বর্গ এবং দ্বারা বাস্তবায়িত তালিকা ইন্টারফেস. ভেক্টর শ্রেণি নিম্নলিখিত হিসাবে ঘোষণা করা হয়েছে: ক্লাস ভেক্টর এখানে, E বস্তুর প্রকারের সংজ্ঞা দেয় যা কোনও অ্যারেতে সংরক্ষণ করা হবে। ভেক্টর শ্রেণি ব্যবহার করে তৈরি করা একটি অ্যারে পরিবর্তনশীল দৈর্ঘ্যের। যদি বৃদ্ধি নির্দিষ্ট না করা হয় তবে এটি তার আকার দ্বিগুণ করে। আসুন ভেক্টর ব্যবহার করে অ্যারে তৈরি বুঝতে পারি। ভেক্টর উপরের কোডে আপনি দেখতে পাচ্ছেন যে আমি স্ট্রিং অবজেক্টের অ্যারে ঘোষণা করার সময় যথাক্রমে ভেক্টরের কনস্ট্রাক্টরে আকার এবং ইনক্রিমেন্ট মান উল্লেখ করেছি। সুতরাং, আপনি পর্যবেক্ষণ করতে পারেন যে অ্যারের সীমা শেষ হওয়ার সাথে সাথে এটি ঘোষণাকালীন কনস্ট্রাক্টরের সরবরাহকৃত মান দ্বারা বৃদ্ধি পায়। আমি এই বলে শেষ করেছিলাম যে অ্যারেলিস্টের ব্যবহার ভেক্টর ব্যবহারের চেয়ে আরও ভাল কারণ এটি দ্রুত এবং আরও ভাল পারফর্ম করে।
ভেক্টর সংজ্ঞা
মিল:
উপসংহার: