HashMap
HashDoS 곡격μΌλ‘λΆν° 보νΈλλ νμ€ ν΄μ λ§΅μ λλ€:
use std::collections::HashMap; fn main() { let mut page_counts = HashMap::new(); page_counts.insert("νν΄λ² 리 νμ λͺ¨ν".to_string(), 207); page_counts.insert("κ·Έλ¦Ό λν".to_string(), 751); page_counts.insert("μ€λ§κ³Ό νΈκ²¬".to_string(), 303); if !page_counts.contains_key("λ λ―Έμ λΌλΈ") { println!( "{}μ μ± μ μκ³ μμ§λ§ λ λ―Έμ λΌλΈμ μμ§ λͺ»ν©λλ€.", page_counts.len() ); } for book in ["μ€λ§κ³Ό νΈκ²¬", "μ΄μν λλΌμ μ¨λ¦¬μ€"] { match page_counts.get(book) { Some(count) => println!("{book}: {count}νμ΄μ§"), None => println!("{book}μ(λ₯Ό) μ μ μμ΅λλ€."), } } // κ°μ μ°Ύμ μ μλ κ²½μ° .entry() λ©μλλ₯Ό μ¬μ©νμ¬ κ°μ μ½μ ν©λλ€. for book in ["μ€λ§κ³Ό νΈκ²¬", "μ΄μν λλΌμ μ¨λ¦¬μ€"] { let page_count: &mut i32 = page_counts.entry(book.to_string()).or_insert(0); *page_count += 1; } println!("{page_counts:#?}"); }
-
HashMap
μ preludeμ μ μλμ΄ μμ§ μκΈ° λλ¬Έμ λͺ μμ μΌλ‘ μΆκ°ν΄μ€μΌ ν©λλ€. -
μλ μ½λλ₯Ό ν μ€νΈν΄λ³΄μΈμ. 첫 λ¬Έμ₯μμλ ν΄μλ§΅μ μ± μ΄ μλμ§ κ²μ¬νμ¬, μμΌλ©΄ λν΄νΈ κ°μ λ°νν©λλ€. λλ² μ§Έ λ¬Έμ₯μμλ ν΄μλ§΅μ ν΄λΉ μ± μ΄ μλ κ²½μ°, μ§μ ν κ°μ ν΄μλ§΅μ μΆκ°ν λ€ κ·Έ κ°μ λ°νν©λλ€.
let pc1 = page_counts .get("ν΄λ¦¬ ν¬ν°μ λ§λ²μ¬μ λ") .unwrap_or(&336); let pc2 = page_counts .entry("νκ±°κ²μ".to_string()) .or_insert(374);
-
μνκΉμ§λ§
hashmap!
κ°μ λ§€ν¬λ‘κ° μμ΅λλ€.-
λ¬μ€νΈ 1.56λΆν°λ
HashMap
μ΄From<[(K, V); N]>
μ ꡬννκΈ° λλ¬Έμ λ°°μ΄ λ¦¬ν°λ΄μ μ΄μ©νμ¬ μ½κ² ν΄μλ§΅μ μ΄κΈ°νν μ μμ΅λλ€:let page_counts = HashMap::from([ ("ν΄λ¦¬ ν¬ν°μ λ§λ²μ¬μ λ".to_string(), 336), ("νκ±°κ²μ".to_string(), 374), ]);
-
-
ν€-κ° μμ λν
Iterator
λ‘ ν΄μλ§΅μ λ§λ€ μλ μμ΅λλ€. -
μμ μ½λμμλ νΈμμ ν΄μλ§΅μ ν€λ‘
&str
λ₯Ό μ¬μ©νμ§ μμμ΅λλ€. λ¬Όλ‘ μ»¬λ μ μ μ°Έμ‘°λ₯Ό μ¬μ©ν μλ μμ΅λλ€. λ€λ§ μ°Έμ‘°λ₯Ό μ¬μ©νκ² λλ©΄ λΉλ¦Ό κ²μ¬κΈ° λλ¬Έμ 볡μ‘ν΄ μ§ μ μμ΅λλ€.- μμ μ½λμμ
to_string()
μ μμ λ μ»΄νμΌμ λ¬Έμ κ° μλμ§ νμΈν΄λ³΄μΈμ. μ΄λ€ λ¬Έμ μ λΆλͺνκΉμ?
- μμ μ½λμμ
-
ν΄μλ§΅μ λͺ λͺ λ©μλλ ν΄μλ§΅ λ΄λΆμ νΉλ³ν νμ (μλ₯Ό λ€μ΄
std::collections::hash_map::Keys
)λ€μ 리ν΄ν©λλ€. μ΄λ¬ν νμ λ€μ Rust λ¬Έμμμλ κ²μν μ μμ΅λλ€. μκ°μλ€μκ² μ΄ νμ λ€μ λν λ¬Έμλ₯Ό 보μ¬μ£Όκ³ , μ΄ λ¬Έμμkeys
λ©μλλ‘μ μ λ§ν¬κ° μμμ μλ €μ£ΌμΈμ.