키
와 값
의 쌍
으로 구성되며, 키의 중복은 허용되지 않는 구조이며
데이터를 삽입 시 자동으로 오름차순
으로 정렬
이 된다.
#include <map>
#include <iostream>
int main() {
std::map<int, std::string> mymap;
mymap.insert(std::make_pair(1, "one"));
mymap.insert(std::make_pair(2, "two"));
mymap.insert(std::make_pair(9, "nine"));
mymap.insert(std::make_pair(10, "ten"));
mymap.insert(std::make_pair(-5, "negative"));
}
find의 결과가 end가 아니라면 찾고자 하는 요소가 존재한다.
#include <map>
#include <iostream>
int main() {
std::map<int, std::string> mymap;
mymap.insert(std::make_pair(1, "one"));
mymap.insert(std::make_pair(2, "two"));
mymap.insert(std::make_pair(9, "nine"));
mymap.insert(std::make_pair(10, "ten"));
mymap.insert(std::make_pair(-5, "negative"));
if(mymap.find(9) != mymap.end()) std::cout << "find : " << mymap[9] << std::endl;
return 0;
}
인덱스를 통해서 데이터를 읽을 수 있으며
반복문을 통해서 키와 값을 읽을 수 있다.
#include <map>
#include <iostream>
int main() {
std::map<int, std::string> mymap;
mymap.insert(std::make_pair(1, "one"));
mymap.insert(std::make_pair(2, "two"));
mymap.insert(std::make_pair(9, "nine"));
mymap.insert(std::make_pair(10, "ten"));
mymap.insert(std::make_pair(-5, "negative"));
std::cout << mymap[2] << std::endl;
std::cout << mymap[9] << std::endl;
std::cout << mymap[1] << std::endl;
for(std::map<int, std::string>::iterator iter = mymap.begin(); iter != mymap.end(); iter ++)
{
std::cout << iter->first << " : " << iter->second << std::endl;
}
}
erase
에 키값을 전달하여 요소를 삭제할 수 있으며
clear를 통해 모든 요소를 삭제할 수 있다.
#include <map>
#include <iostream>
int main() {
std::map<int, std::string> mymap;
mymap.insert(std::make_pair(1, "one"));
mymap.insert(std::make_pair(2, "two"));
mymap.insert(std::make_pair(9, "nine"));
mymap.insert(std::make_pair(10, "ten"));
mymap.insert(std::make_pair(-5, "negative"));
mymap.erase(-5);
std::cout << mymap[2] << std::endl;
std::cout << mymap[9] << std::endl;
std::cout << mymap[1] << std::endl;
for(std::map<int, std::string>::iterator iter = mymap.begin(); iter != mymap.end(); iter ++)
{
std::cout << iter->first << " : " << iter->second << std::endl;
}
mymap.clear();
}