HashMap এবং Set এর কাজ

Collections এবং Iterators (কলেকশনস এবং ইটারেটরস) - রাস্ট (Rust) - Computer Programming

254

HashMap

HashMap একটি key-value pair ডেটা স্ট্রাকচার, যেখানে প্রতিটি key এর জন্য একটি corresponding value থাকে। এটি unordered collection এবং unique keys ব্যবহার করে, অর্থাৎ একাধিক identical key থাকতে পারে না, তবে value গুলি পুনরাবৃত্তি হতে পারে। রাস্টে, HashMap ব্যবহারের জন্য std::collections::HashMap লাইব্রেরি ইম্পোর্ট করতে হয়।

HashMap এর বৈশিষ্ট্য:

  • Key-value pair: প্রতিটি key এর সাথে একটি value সম্পর্কিত থাকে।
  • Unordered: HashMap এর এলিমেন্টগুলো অর্ডার অনুসরণ করে না।
  • Unique keys: প্রতিটি key একবারই থাকতে পারে।
  • Efficient Lookup: HashMap এর ভিতরে একটি key দিয়ে দ্রুত মান (value) খুঁজে পাওয়া যায়।

HashMap ব্যবহার:

use std::collections::HashMap;

fn main() {
    // একটি নতুন HashMap তৈরি করা হচ্ছে
    let mut scores = HashMap::new();
    
    // key-value পেয়ার যুক্ত করা হচ্ছে
    scores.insert("Alice", 50);
    scores.insert("Bob", 40);
    
    // একটি key এর মাধ্যমে value অ্যাক্সেস করা হচ্ছে
    println!("Alice's score: {}", scores.get("Alice").unwrap());
    
    // সমস্ত key-value পেয়ার প্রিন্ট করা হচ্ছে
    for (key, value) in &scores {
        println!("{}: {}", key, value);
    }
}

এখানে:

  • scores.insert("Alice", 50) দ্বারা একটি key-value পেয়ার অ্যাড করা হচ্ছে।
  • scores.get("Alice") দিয়ে Alice এর স্কোর অ্যাক্সেস করা হচ্ছে।

Set

Set হল একটি collection যা unique elements ধারণ করে, তবে এতে কোন নির্দিষ্ট অর্ডার থাকে না। রাস্টে Set এর জন্য সাধারণত HashSet ব্যবহার করা হয়, যা std::collections::HashSet লাইব্রেরি দ্বারা প্রদান করা হয়। Set কোন ডুপ্লিকেট মান গ্রহণ করে না এবং এটির প্রধান কাজ হল ইউনিক মান সংগ্রহ করা।

Set এর বৈশিষ্ট্য:

  • Unique elements: একাধিক identical এলিমেন্ট থাকতে পারে না।
  • Unordered: Set এর মধ্যে এলিমেন্টগুলো কোন নির্দিষ্ট অর্ডারে থাকে না।
  • Efficient operations: Set সাধারণত দ্রুততার সাথে মানের উপস্থিতি চেক করতে পারে।

HashSet ব্যবহার:

use std::collections::HashSet;

fn main() {
    let mut numbers = HashSet::new();
    
    // এলিমেন্ট অ্যাড করা হচ্ছে
    numbers.insert(1);
    numbers.insert(2);
    numbers.insert(3);
    
    // এলিমেন্ট চেক করা হচ্ছে
    if numbers.contains(&2) {
        println!("The set contains 2");
    }
    
    // সব এলিমেন্ট প্রিন্ট করা হচ্ছে
    for number in &numbers {
        println!("{}", number);
    }
}

এখানে:

  • numbers.insert(1) দ্বারা একটি এলিমেন্ট অ্যাড করা হচ্ছে।
  • numbers.contains(&2) দিয়ে চেক করা হচ্ছে যে ২টি এলিমেন্ট সেটে রয়েছে কিনা।

HashMap এবং Set এর মধ্যে পার্থক্য:

বৈশিষ্ট্যHashMapSet
উদ্দেশ্যkey-value pair storingশুধুমাত্র unique values storing
ডেটা সঞ্চয়key-value pairশুধু values (এলিমেন্ট)
ডুপ্লিকেটএকই key একাধিক হতে পারে নাডুপ্লিকেট ভ্যালু থাকতে পারে না
অর্ডারঅর্ডার ঠিক থাকে নাঅর্ডার ঠিক থাকে না
সার্চ অপারেশনkey দ্বারা value দ্রুত অ্যাক্সেসশুধু উপাদান চেক করা

সারাংশ

HashMap এবং Set রাস্টের দুটি গুরুত্বপূর্ণ ডেটা স্ট্রাকচার। HashMap key-value pair সংরক্ষণ করে, যেখানে প্রতিটি key এর সাথে একটি value যুক্ত থাকে, এবং Set শুধুমাত্র ইউনিক উপাদান ধারণ করে। HashMap এলিমেন্ট অনুসন্ধানে খুবই দ্রুত এবং Set শুধুমাত্র ইউনিক মান সংরক্ষণে উপযোগী।

Content added By
Promotion

Are you sure to start over?

Loading...