<예제 코드_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>
'Rust' 카테고리의 다른 글
[Rust] Derive 예제 (54일차) (0) | 2023.02.07 |
---|---|
[Rust] Tokio 예제 : 기본 (53일차) (0) | 2023.02.05 |
[Rust] Overloading 예제 (51일차) (0) | 2023.02.02 |
[Rust] Field Init Shorthand, 필드 초기화 (50일차) (0) | 2023.02.01 |
댓글