Rust
[Rust] HashMap 예제 (52일차)
꾸압
2023. 2. 3. 23:53
<예제 코드_1>
fn main() {
use std::collections::HashMap;
// HashMap 생성
let mut hash_ages : HashMap<String, u32> = HashMap::new();
// 데이터 삽입
hash_ages.insert(String::from("Nachfolge"), 32);
println!("HashMap : {:?}", hash_ages);
}
<예제 코드_2>
fn main() {
use std::collections::HashMap;
// HashMap 키에 해당하는 벡터 생성
let names = vec![String::from("Nachfolge"), String::from("Selah")];
// HashMap 값에 해당하는 벡터 생성
let ages = vec![10, 50];
// HashMap 생성
let hash_ages: HashMap<_, _> = names.iter().zip(ages.iter()).collect();
println!("HashMap : {:?}", hash_ages);
}
<예제 코드_3>
// HashMap 조회
fn main() {
use std::collections::HashMap;
let mut hash_ages : HashMap<String, u32> = HashMap::new();
// 신규 등록
hash_ages.entry(String::from("Nachfolge")).or_insert(28);
println!("HashMap : {:?}", hash_ages["Nachfolge"]);
println!("HashMap : {:?}", hash_ages.get("Nachfolge"));
}
<예제 코드_4>
// HashMap 갱신
fn main() {
use std::collections::HashMap;
// HashMap 생성
let mut hash_ages : HashMap<String, u32> = HashMap::new();
// 신규 추가
hash_ages.insert(String::from("Nachfolge"), 29);
// 덮어 쓰기
hash_ages.insert(String::from("Nachfolge"), 30);
// 신규 추가
hash_ages.insert(String::from("Nachfolge"), 31);
println!("HashMap : {:?}", hash_ages);
}
<예제 코드_5>
fn main() {
use std::collections::HashMap;
// HashMap 생성
let mut hash_ages : HashMap<String, u32> = HashMap::new();
// 신규 추가
hash_ages.entry(String::from("Nachfolge")).or_insert(28);
// 키가 있으면 등록 안 함
hash_ages.entry(String::from("Nachfolge")).or_insert(29);
// 신규 추가
hash_ages.entry(String::from("Selah")).or_insert(30);
println!("HashMap : {:?}", hash_ages);
}
<예제 코드_6>
fn main() {
use std::collections::HashMap;
// HashMap 생성
let mut hash_ages : HashMap<String, u32> = HashMap::new();
// 신규 등록
let age = hash_ages.entry(String::from("Nachfolge")).or_insert(28);
// 역참조자를 활용하여 값 수정
*age = 29;
println!("HashMap : {:?}", hash_ages);
}
<참조 1> https://hyunmin1906.tistory.com/316
<참조 2>