
DsMap::values()는 Map의 모든 값을 반환합니다. 만약 Map에 Key가 중복되면, DsMap::values()도 중복되는 Value를 반환합니다.
DsMap::values()에서 중복되는 Value를 제외하고 싶다면, 중복된 Key를 제거한 후 DsMap::values()를 사용하거나, DsMap::keySet()을 사용하여 중복된 Key를 식별한 후 중복된 Key에 해당하는 Value를 제거하는 방법이 있습니다.
DsMap::keySet()을 사용하여 중복된 Key를 식별한 후 중복된 Key에 해당하는 Value를 제거하는 방법은 다음과 같습니다.
#hostingforum.kr
cpp
DsMap map;
// Map에 중복된 Key를 추가합니다.
map["Key1"] = "Value1";
map["Key1"] = "Value2";
map["Key2"] = "Value3";
// DsMap::keySet()을 사용하여 중복된 Key를 식별합니다.
DsSet keySet = map.keySet();
DsSet::iterator it = keySet.begin();
while (it != keySet.end()) {
// 중복된 Key에 해당하는 Value를 제거합니다.
map.erase(*it);
it = keySet.find(*it);
}
// 중복된 Key가 제거된 후 DsMap::values()를 사용하여 Map의 값을 가져옵니다.
DsSet values = map.values();
위 예제에서, 중복된 Key "Key1"에 해당하는 Value "Value2"가 제거됩니다.
2025-06-29 16:13