mapValue.insertMulti与mapValue.insert区别
时间: 2023-08-08 17:06:35 浏览: 56
`QMap::insert()` 函数用于在 `QMap` 中插入一个新的键值对。如果该键已经存在于 `QMap` 中,则该函数将覆盖现有的值。
`QMap::insertMulti()` 函数与 `QMap::insert()` 函数相似,但是它允许在 `QMap` 中插入多个值,而不是一个值。如果该键已经存在于 `QMap` 中,则该函数将在该键的值列表中追加一个新值。
例如,如果我们有以下 `QMap`:
```
QMap<QString, QStringList> map;
map.insert("fruit", QStringList() << "apple" << "orange");
```
然后我们可以使用 `QMap::insertMulti()` 函数在 `fruit` 键的值列表中插入一个新值:
```
map.insertMulti("fruit", "banana");
```
现在,`map` 中的 `fruit` 键将包含三个值:`"apple"`、`"orange"` 和 `"banana"`。
如果我们使用 `QMap::insert()` 函数在 `fruit` 键上插入一个新值:
```
map.insert("fruit", "banana");
```
现在,`map` 中的 `fruit` 键将只包含一个值 `banana`,而原来的值 `apple` 和 `orange` 将被覆盖。
因此,在具有相同键的情况下,`QMap::insert()` 函数只能插入一个值,而 `QMap::insertMulti()` 函数可以插入多个值。