অ্যারে এবং অ্যারেলিস্টের মধ্যে পার্থক্য

Anonim

এরেলেলিস বনাম

অ্যারে উপাদানগুলি সংগ্রহের জন্য সবচেয়ে বেশি ব্যবহৃত ডেটা কাঠামো সরবরাহ করে। বেশিরভাগ প্রোগ্রামিং ল্যাঙ্গুয়েজ অ্যারেগুলিতে সহজে অ্যারে এবং অ্যাক্সেস উপাদানের ঘোষণা দেয়। একটি arraylist একটি ডায়নামিক অ্যারে হিসাবে দেখা যায়, যা আকারে বাড়াতে পারে এই কারণেই, প্রোগ্রামারকে যখন এটি নির্ধারণ করা হয় তখন অ্যারেলেলের আকার জানতে হবে না।

এরেস কী?

চিত্র -1 এ বর্ণিত, সাধারণত একটি কোডের একটি অংশ হয় যা একটি অ্যারের মানগুলিকে ঘোষণা এবং অর্পণ করতে ব্যবহৃত হয়। চিত্র 2 একটি অ্যারে মেমরির মত চেহারা হবে কিভাবে চিত্রিত।

স্বনির্ধারণ মান [5];

মান [0] 100 =;

মান [1] = 101;

মান [2] 102 =;

মান [3] = 103;

মান [4] 104 =;

চিত্র -1: একটি অ্যারের

100 101 102 103 104
সূচক: 0 1 2 < 3 4
চিত্র 2: মেমরিতে সংরক্ষিত অ্যারের

কোডের উপরে, একটি অ্যারের সংজ্ঞায়িত করে যা 5 পূর্ণসংখ্যা সঞ্চয় করতে পারে এবং 0 থেকে 4 পর্যন্ত সূচকগুলি ব্যবহার করে অ্যাক্সেস করা যায়। একটি অ্যারেরের গুরুত্বপূর্ণ বৈশিষ্ট্য হচ্ছে, সম্পূর্ণ অ্যারে মেমরি একক ব্লক হিসাবে বরাদ্দ করা হয় এবং প্রতিটি উপাদান অ্যারের মধ্যে তার নিজস্ব জায়গা পায়। একবার একটি অ্যারে সংজ্ঞায়িত করা হয়, তার আকার সংশোধন করা হয়। তাই যদি আপনি কম্পাইল সময় অ্যারের মাপ সম্পর্কে নিশ্চিত না হয়, আপনি একটি বড় যথেষ্ট অ্যারে সংজ্ঞায়িত করতে হবে নিরাপদ পার্শ্ব হতে। কিন্তু, বেশিরভাগ সময়, আমরা আসলে আমরা বরাদ্দকৃত বস্তুর চেয়ে কম সংখ্যক উপাদান ব্যবহার করতে যাচ্ছি। সুতরাং মেমরি একটি উল্লেখযোগ্য পরিমাণ আসলে নষ্ট হয়। অন্য দিকে যদি "বড় বড় অ্যারে" আসলে যথেষ্ট বড় না হয়, প্রোগ্রাম ক্র্যাশ হবে।

অ্যারেলিস্ট কি?

একটি arraylist একটি ডায়নামিক অ্যারে হিসাবে দেখা যায়, যা আকারে বাড়তে পারে। অতএব অ্যার্লিস্টিস্টগুলি আদর্শের ক্ষেত্রে ব্যবহার করা উপযুক্ত যেখানে আপনি ঘোষণার সময় প্রয়োজনীয় উপাদানগুলির আকার জানেন না। জাভাতে, অ্যারেলিস্টগুলি কেবল অবজেক্টগুলি ধরে রাখতে পারে, তারা আদিম প্রকারগুলিকে সরাসরি ধারণ করতে পারে না (আপনি আদিম ধরনের একটি বস্তুর ভিতরে বা আদিম ধরনের আচ্ছাদিত শ্রেণীর ব্যবহার করতে পারেন)। সাধারনত সন্নিবেশ, সন্নিবেশ, মোছা এবং অনুসন্ধান করার পদ্ধতিগুলি দিয়ে প্রদান করা হয়। একটি উপাদান অ্যাক্সেসের সময় জটিলতা o (1), যখন সন্নিবেশ এবং মুছে ফেলার সময় o (n) এর জটিলতা রয়েছে জাভাতে, অ্যারেলিস্টগুলি অগ্রভাগ লুপ, iterators ব্যবহার করে বা সূচীগুলি ব্যবহার করে ব্যবহার করা যেতে পারে।

অ্যারে এবং অ্যারেলিস্টের মধ্যে পার্থক্য কি

যদিও অ্যারে এবং অ্যারেলিস্টগুলি একই অর্থে একই রকম, যেগুলি তাদের উভয় উপাদানই সংগ্রহের জন্য ব্যবহৃত হয়, তবে তারা কীভাবে সংজ্ঞায়িত হয় সে বিষয়ে আলাদা। একটি অ্যারের সংজ্ঞায়িত করা হয় যখন অ্যারের আকার দেওয়া হয়, কিন্তু আপনি প্রকৃত আকার না জানা ছাড়া একটি অ্যারেলিটি সংজ্ঞায়িত করতে পারেন এটি সংজ্ঞায়িত হওয়ার পরে আপনি একটি অ্যারেলিলে উপাদান যুক্ত করতে পারেন এবং এটি অ্যারেগুলির সাথে সম্ভব নয়।কিন্তু জাভাতে, অ্যারেলিস্টগুলি আদিম ধরনগুলি ধরে রাখতে পারে না, তবে আর্কাইভগুলি আদিম ধরনেরগুলি ধরে রাখার জন্য ব্যবহার করা যেতে পারে। কিন্তু যদি আপনি একটি ডাটা স্ট্রাকচারের প্রয়োজন হয় যা তার আকার পরিবর্তন করতে পারে, তাহলে তালিকাটি সর্বোত্তম পছন্দ হবে।