HashMap बनाना
कुंजी से जोड़ें और खोजें।
HashMap बनाना, CoddyKit पर Rust कोडिंग सीखें का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Rust कोडिंग सीखें सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Rust कोडिंग सीखें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
HashMap क्या है
HashMap डेटा को key-value pairs के रूप में संग्रहित करता है। आप चीज़ों को index के बजाय key से खोजते हैं।
इसे phone book की तरह समझें: नाम (key), नंबर (value) से जुड़ा होता है। जब आपको किसी अर्थपूर्ण key से तेज़ी से खोज करनी हो, तब HashMaps बहुत उपयोगी होते हैं।
HashMap इम्पोर्ट करना
Vec और String के विपरीत, HashMap prelude में शामिल नहीं है। आपको इसे scope में लाना होगा।
अपनी file के सबसे ऊपर use लाइन जोड़ें। इससे पूरे module में यह नाम उपलब्ध हो जाता है।
use std::collections::HashMap;
fn main() {
let scores: HashMap<String, i32> = HashMap::new();
println!("empty map len: {}", scores.len());
}Pairs डालना
key और उसके value को जोड़ने के लिए insert का उपयोग करें। यदि key पहले से मौजूद है, तो old value बदल दी जाती है।
insertion की अनुमति देने के लिए map को mut घोषित करना आवश्यक है।
use std::collections::HashMap;
fn main() {
let mut scores = HashMap::new();
scores.insert("Alice", 50);
scores.insert("Bob", 30);
println!("{} players", scores.len());
}प्रकार का अनुमान
आपको प्रकार लिखने की बहुत कम आवश्यकता होती है। Rust पहले insert calls से HashMap<&str, i32> का अनुमान लगा लेता है।
यहाँ keys string slices हैं और values integers, जिनका निर्णय usage से होता है।
use std::collections::HashMap;
fn main() {
let mut ages = HashMap::new();
ages.insert("Sam", 28);
ages.insert("Mia", 34);
println!("Sam is {}", ages["Sam"]);
}Values प्राप्त करना
get विधि एक Option लौटाती है। यदि key मौजूद है, तो आपको Some(&value) मिलता है; अन्यथा None।
इससे आपको missing स्थिति को सुरक्षित रूप से संभालना पड़ता है।
use std::collections::HashMap;
fn main() {
let mut scores = HashMap::new();
scores.insert("Alice", 50);
match scores.get("Alice") {
Some(v) => println!("score: {}", v),
None => println!("no score"),
}
}Indexing बनाम get
आप map[key] से index कर सकते हैं, लेकिन key missing होने पर यह panic हो जाता है।
जब key के मौजूद न होने की संभावना हो, तो get को प्राथमिकता दें। Indexing का उपयोग तभी करें जब आपको पूरा भरोसा हो कि key मौजूद है।
use std::collections::HashMap;
fn main() {
let mut m = HashMap::new();
m.insert("x", 1);
// m["y"] would panic!
let v = m.get("y").copied().unwrap_or(0);
println!("y = {}", v);
}Value अपडेट करना
मौजूदा key के साथ insert call करने पर old value overwrite हो जाती है।
पिछली value Option में लिपटी हुई लौटाई जाती है, ताकि आप चाहें तो उसकी जाँच कर सकें।
use std::collections::HashMap;
fn main() {
let mut m = HashMap::new();
m.insert("k", 1);
let old = m.insert("k", 9);
println!("old = {:?}, now = {}", old, m["k"]);
}Keys की जाँच करना
किसी key की value प्राप्त किए बिना यह जाँचने के लिए कि वह मौजूद है या नहीं, contains_key का उपयोग करें।
यह सीधा bool लौटाता है, जो if conditions में उपयोगी होता है।
use std::collections::HashMap;
fn main() {
let mut m = HashMap::new();
m.insert("on", true);
if m.contains_key("on") {
println!("key exists");
}
}Entries हटाना
remove विधि किसी key को हटाकर उसकी value को Option के रूप में लौटाती है।
यदि key मौजूद नहीं थी, तो आपको None मिलता है, इसलिए removal हमेशा सुरक्षित है।
use std::collections::HashMap;
fn main() {
let mut m = HashMap::new();
m.insert("a", 1);
let removed = m.remove("a");
println!("removed {:?}, len {}", removed, m.len());
}Map पर iteration करना
HashMap पर for loop reference के रूप में (key, value) tuples देता है।
ध्यान दें कि क्रम निश्चित नहीं होता और अलग-अलग runs में बदल सकता है, क्योंकि hashing placement को बिखेर देती है।
use std::collections::HashMap;
fn main() {
let mut m = HashMap::new();
m.insert("a", 1);
m.insert("b", 2);
for (k, v) in &m {
println!("{} -> {}", k, v);
}
}Keys की ownership
जब आप String जैसी owned values insert करते हैं, तो map उनकी ownership ले लेता है।
Insertion के बाद आप उस variable का फिर उपयोग नहीं कर सकते, जब तक कि पहले उसका clone न बना लें।
use std::collections::HashMap;
fn main() {
let mut m = HashMap::new();
let name = String::from("Alice");
m.insert(name, 50);
// name is moved here; m owns it now
println!("{}", m["Alice"]);
}त्वरित जाँच
आपको कोई value चाहिए, लेकिन key missing हो सकती है।
पुनरावलोकन
आपने HashMap बनाना, pairs insert करना और get या indexing से values खोजना सीखा।
आपने contains_key, remove, iteration और यह भी देखा कि map inserted keys की ownership ले लेता है।
एआई शिक्षक के साथ Rust सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 39
- पाठ
- 144
अक्सर पूछे जाने वाले प्रश्न
क्या “HashMap बनाना” पाठ निःशुल्क है?
हाँ — Rust कोडिंग सीखें अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “HashMap बनाना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Rust कोडिंग सीखें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“HashMap बनाना” में मैं क्या सीखूँगा?
कुंजी से जोड़ें और खोजें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Rust कोडिंग सीखें का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Rust कोडिंग सीखें शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Rust कोडिंग सीखें शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“HashMap बनाना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Rust कोडिंग सीखें पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Rust कोडिंग सीखें पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।