본문 바로가기
Rust

[Rust] HashMap 예제 (52일차)

by 꾸압 2023. 2. 3.

 

<예제 코드_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>

 

 

댓글