Qt中常用的容器有 QList、QVector、QMap、QHash、QSet 等,它们都具有不同的特性和适用场景。
1. QList:动态数组,可以动态增加和删除元素,支持随机访问和迭代,适用于不需要频繁插入或删除元素的场景。
```cpp
QList<int> list;
list.append(1);
list.append(2);
foreach(int val, list) {
qDebug() << val;
}
```
2. QVector:动态数组,与QList类似,但对于插入和删除操作性能更好,适用于频繁插入和删除元素的场景。
```cpp
QVector<int> vector;
vector.append(1);
vector.append(2);
for(int i=0; i<vector.size(); i++) {
qDebug() << vector.at(i);
}
```
3. QMap:键值对映射,可以根据 key 查找对应的 value,内部实现为红黑树,适用于需要快速查找和按键排序的场景。
```cpp
QMap<QString, int> map;
map.insert("A", 1);
map.insert("B", 2);
qDebug() << map.value("A");
qDebug() << ma