比較兩個QMaps
並刪除不在第一個地圖中的條目並將地圖二的條目添加到第一個地圖的最佳方法是什麼?假設我有一張{1,2,3}
的地圖和一張{1,2,4}
的地圖,我想保留在第一張地圖{1,2,4}
。謝謝。比較兩個QMaps
0
A
回答
2
根據你的榜樣映射這樣的:
void removeNonUniqueThenAppend(QMap<QString, QString>& map1, QMap<QString, QString> map2)
{
QMap<QString, QString>::iterator iterator = map1.begin();
while (iterator != map1.end()) {
if (!map2.contains(iterator.key())) {
iterator = map1.erase(iterator);
}
else {
map2.remove(iterator.key());
++iterator;
}
}
map1.unite(map2);
}
1
您可以適應以下Qt的:
template <typename K, typename V>
void my_merge(std::map<K, V>& m1, const std::map<K, V> m2)
{
auto it1 = m1.begin();
auto it2 = m2.begin();
while (it1 != m1.end() && it2 != m2.end()) {
if (*it1 < *it2) { // Only in m1
it1 = m1.erase(it1);
} else if (*it2 < *it1) { // Only in m2
m1.insert(it1, *it2); // with hint.
++it2;
} else { // In both
++it1;
++it2;
}
}
m1.erase(it1, m1.end());
m1.insert(it2, m2.end());
}
+0
謝謝。這正是我期待的。 – adapto
相關問題
- 1. 比較兩個NSMutableDictionaries
- 2. 比較兩個FluentWebElement
- 3. 比較兩個bsts
- 4. 比較兩個UIImages
- 5. 比較兩個詞
- 6. 比較兩個NSManagedObjects
- 7. 比較兩個JSON
- 8. 比較兩個DataFrames,
- 9. 比較兩個NSDates
- 10. 比較兩個CGPDFDictionary
- 11. 比較兩個nsdatecomponent
- 12. 比較兩個ArrayList中的兩種比較?
- 13. 比較兩個在Python
- 14. 比較兩個sqlite表
- 15. 比較兩個Groovy日期
- 16. 比較兩個日期
- 17. 比較兩個ExtendedProperty的
- 18. 比較兩個列表
- 19. AWK比較兩個文件
- 20. 比較兩個列表C#
- 21. 比較兩個數字
- 22. 比較兩個Excel表
- 23. 如何比較兩個ID
- 24. 比較兩個語音
- 25. 比較兩個文件
- 26. 比較兩個視圖
- 27. 比較兩個列表
- 28. 比較兩個整數
- 29. angularjs比較兩個數組
- 30. 比較兩個CSV文件,
'Map'具有鍵/值。 ..你想要比較哪一個? – Jarod42
我想比較一下密鑰。 – adapto