সাধারণ কালেকশন (Common Collections)
Rust-এর স্ট্যান্ডার্ড লাইব্রেরিতে বেশ কিছু দরকারী ডেটা স্ট্রাকচার রয়েছে, যেগুলোকে কালেকশন (collections) বলা হয়। বেশিরভাগ অন্যান্য ডেটা টাইপ একটি নির্দিষ্ট মান উপস্থাপন করে, কিন্তু কালেকশনগুলো একাধিক মান ধারণ করতে পারে। বিল্ট-ইন অ্যারে এবং টাপল টাইপের বিপরীতে, এই কালেকশনগুলো যে ডেটা নির্দেশ করে তা হিপে (heap) সংরক্ষণ করা হয়, যার মানে ডেটার পরিমাণ কম্পাইল করার সময় জানার প্রয়োজন নেই এবং প্রোগ্রাম চলার সাথে সাথে এটি বাড়তে বা কমতে পারে। প্রতিটি ধরণের কালেকশনের বিভিন্ন ক্ষমতা এবং খরচ রয়েছে এবং আপনার বর্তমান পরিস্থিতির জন্য উপযুক্ত একটি বেছে নেওয়া এমন একটি দক্ষতা যা আপনি সময়ের সাথে সাথে বিকশিত করবেন। এই চ্যাপ্টারে, আমরা তিনটি কালেকশন নিয়ে আলোচনা করব যা Rust প্রোগ্রামগুলোতে প্রায়শই ব্যবহৃত হয়:
- একটি ভেক্টর (vector) আপনাকে একে অপরের পাশে পরিবর্তনশীল সংখ্যক মান সংরক্ষণ করতে দেয়।
- একটি স্ট্রিং (string) হল অক্ষরের একটি কালেকশন। আমরা আগে
String
টাইপ উল্লেখ করেছি, কিন্তু এই চ্যাপ্টারে আমরা এটি সম্পর্কে বিস্তারিত আলোচনা করব। - একটি হ্যাশ ম্যাপ (hash map) আপনাকে একটি নির্দিষ্ট কী (key)-এর সাথে একটি মান যুক্ত করতে দেয়। এটি ম্যাপ (map) নামক আরও সাধারণ ডেটা স্ট্রাকচারের একটি বিশেষ বাস্তবায়ন।
স্ট্যান্ডার্ড লাইব্রেরি দ্বারা সরবরাহ করা অন্যান্য ধরণের কালেকশন সম্পর্কে জানতে, ডকুমেন্টেশন দেখুন।
আমরা ভেক্টর, স্ট্রিং এবং হ্যাশ ম্যাপ কীভাবে তৈরি এবং আপডেট করতে হয়, সেইসাথে কী প্রত্যেকটিকে বিশেষ করে তোলে তা নিয়ে আলোচনা করব।