qt Qmap可以用什么类替代能够按照插入顺序排序
时间: 2024-01-13 07:02:26 浏览: 162
fifo 插入顺序的高效map
如果您需要按照插入顺序排序的关联容器,您可以使用QHash类或QList类。
QHash是Qt中的一个关联容器,它存储键值对,并且可以根据键进行快速查找。QHash没有保持其元素插入顺序的能力,但是您可以使用QList来保存插入顺序。例如:
```
QHash<QString, int> myHash;
QList<QString> myKeys;
myHash.insert("apple", 10);
myKeys.append("apple");
myHash.insert("banana", 20);
myKeys.append("banana");
myHash.insert("orange", 30);
myKeys.append("orange");
for (int i = 0; i < myKeys.size(); ++i) {
QString key = myKeys.at(i);
int value = myHash.value(key);
qDebug() << key << ": " << value;
}
```
在上面的代码中,我们使用QHash存储键值对,在QList中保存键的插入顺序。然后,我们使用for循环遍历QList中的键,并使用QHash查找对应的值。
另外,如果您只需要存储值,并且需要按照插入顺序排序,您可以使用QList类。例如:
```
QList<int> myList;
myList.append(10);
myList.append(20);
myList.append(30);
for (int i = 0; i < myList.size(); ++i) {
int value = myList.at(i);
qDebug() << value;
}
```
在上面的代码中,我们使用QList存储整数,并按照插入顺序排序。然后,我们使用for循环遍历QList并输出其值。
这是使用QHash或QList的一些基本步骤。如果您需要按照插入顺序排序的关联容器,这些类提供了一种方便的方法。
阅读全文