[C++] map, unordered_map

z_zen ㅣ 2025. 1. 13. 00:08

728x90

map은 C++의 표준 라이브러리 <map>에 정의된 키-값(key-value) 쌍을 저장하는 연관 컨테이너, 각 키는 고유하며, 자동으로 정렬

unordered_map은 정렬 X, 빠른 검색/삽입/삭제가 중요한 경우 사용


 

 

1. 삽입

  • map[key] = value;: 키를 이용해 값 저장 (기존 값이 있으면 덮어씀)
  • insert({key, value});: 쌍을 삽입
    map["key"] = value;
    map.insert({"key", value});

2. 검색

  • map[key];: 키로 값 검색 (없는 키를 참조하면 기본 값이 생성됨)
  • find(key);: 키를 찾고 iterator 반환 (end()이면 키 없음)
    if (map.find("Alice") != map.end()) {
        std::cout << "Alice의 점수: " << map["Alice"];
    }
    

3. 삭제

  • erase(key);: 특정 키-값 삭제
    map.erase("Bob");
    

4. 사이즈 확인

  • size();: 저장된 키-값 쌍의 개수 반환
    std::cout << "Map의 크기: " << map.size() << '\n';
    

5. 초기화 및 삭제

  • clear();: 모든 데이터 삭제
    map.clear();
    

6. 키 유무 확인

  • count(key);: 키가 존재하면 1, 없으면 0 반환
    if (map.count("Charlie")) {
        std::cout << "Charlie가 존재합니다.\n";
    }
    

 

728x90