map의 형제들이다.
키를 값으로 사용하고 싶을 때
set사용한다.
나머지는 map이랑 다 똑같다.
거의 비슷하다.
key == value를 인지하면됨.
opeator [] 지원 안함.
map에서 중복키를 허용하는게 multimap이다.
이렇게 넣으면되고, operator [] 막힘. (혼동을 막기 위함)
현재 키값을 중복해서 넣었는데 erase할 경우 어떻게 될까?
하나삭제? 다삭제?
중복된 키값 count 수만큼 반환하는데
해당키의 데이터 다 삭제한다.
find를 통해 중복된 키값들중 첫번째 키값에 해당하는 iterator 반환받은 다음에
이것을 삭제해주면된다.
lower_bound(1) : 1을 가지는 키값의 시작 주소
upper_bound(1) : 1을 가지는 키값을 다음 주소
이랫던것을
이렇게 바꿀 수 있다.
set에서 중복 키를 허용하는게 multiset
map은 많이 쓰고, set도 어느정도
nultimap, multiset의 경우 실무에서 거의 쓴적이 없다.
하지만 면접에서는 map, set물어보고
간혹 map, multimap물어봤다고도 함.