map 컨테이너는 연관 컨테이너 중 자주 사용하는 컨테이너로 원소를 key와 value의 쌍으로 저장합니다. set은 우너소로 key 하나만을 저장하지만, map은 원소로 key와 value의 상을 저장합니다. 중복저장 x multimap 대신 사용.

Untitled

map의 원소는 pair로 저장되며 pair 객체의 first 멤버 변수는 key로 second 멤버 변수는 value 입니다. 원소를 저장하는 insert() 멤버 함수는 pair 객체를 인자로 받습니다.

map<int, int> m;
m.insert(pair<int, int>(5, 100));

map의 insert()

pair<int, int> pr(9, 50);
m.insert(pr);

map의 insert 의 리턴 값은 set과 같이 pair 로 리턴이 됩니다.

map의 []연산자

map은 [] 연산자를 이용해 쉽게 원소(key, value)를 추가하거나 value 값을 갱신할 수 있습니다.

m[5] = 200; // key 5의 value 200으로 갱신한다

map 컨테이너의 정렬 기준 조건자 greater

map<int, string, greater<int>> m;
m[5] = "five";

map<int, string, greater<int>>::iterator iter;

map의 찾기 관련 멤버 함수

find(), lower_bound(), upper_bound(), equal_range()

map<int, int>::iterator lower_iterator;
lower_iterator = m.lower_bound(5);

iter = m.find(5);