注意:
由于Qt的容器是写时复制的,因此非const访问器从本质上讲更加昂贵,
因为它们必须首先检查是否需要复制基础数据(并在必要时进行复制)。
因此,在Qt中,at(i)速度会快于operator[]。令人遗憾的是,这与STL相反,
例如,STL std::vector<T>::at(i)会进行边界检查,因此比稍贵std::vector<T>::operator[](i)。
参考官网:https://doc.qt.io/qt-5/containers.html
一、容器类
1、顺序容器
QList:最常用,内部由数组实现,访问快;
QLinkedList:真正的链表,与迭代器配合使用;
QVector:连续空间存储,插入操作慢;
QStack:后进先出(LIFO)在QVector基础上增加新的接口——push()、pop()、top();
QQueue:先进先出(FIFO)在QList基础上增加新的接口——enqueue()、dequeue()、head();
2、关联容器
QMap:基于红黑树的字典,以键key顺序存储;
QMultiMap:一个键对应多个值的QMap;
QHash:基于哈希表的字典,查找快,不是顺序存储;
QMultiHash:一个键对应多个值的QHash&#x