Qt主要的容器类
1、描述
容器和迭代器類提供修改、刪除、插入、保存數據和遍歷等功能,Qt包含的容器類比STL更加簡單和安全。
2、常用的容器
- QList<T>:使用數據間的索引可以訪問數據,儲存特定類型。
- QLinkedList<T>:使用迭代器訪問數據,而非基于整數的索引,對于已有的大量數據中插入數據比QList快,鏈表。
- QVector<T>:相臨近內存的位置存儲特定類型的數據數組。
- QStack<T>:堆棧結構先進后出的QVector子類容器,主要接口push()、pop()、top()。
- QQueue<T>:隊列結構先進先出的QList子類容器,主要接口enqueue() dequeue() head()。
- QSet<T>:快速查找單一值的數據模式,保存數據無順序,可以快速查找。
- QMap<Key,T>:與數據對應的單一映射方式的關鍵字,字典功能容器,二叉樹搜索字典。
- QMultiMap<Key,T>:QMap子類,提供電儀關鍵字模式形態,基于多映射。
- QHash<Key,T>:和QMap類似,但是查詢速度比QMap更快,可以隨機存儲數據,散列表字典。
- QMultiHash<Key,T>:提供多個關鍵字模型。
3、示例
3.1 QList
QList<QString> liststr; //添加 liststr<<"one"<<"two"<<“three”; liststr.append("four"); //查找 if(liststr[1] == "two"){qDebug()<<liststr[1]; } if(liststr.at(1) == "two"){qDebug()<<liststr.at(1); }3.2 QHash<Key,T>
QHash<QString, int> hash; hash["one"] = 1; hash["two"] = 2; hash.insert("four",4); int nmb = hash.value("four");3.3 QMultiHash<Key,T>
QMultiHash<QString, int> mhash; mhash.insert("cost",100); mhash.insert("cost",200); mhash.insert("cost",300);QList<int> val = mhash.value("cost"); for(int i = 0; i < mhash.size(); i++){qDebug()<<val.at(i); }3.4 QStack<T>
QStack<int> stack; stack.push(100); stack.push(200); stack.push(300);while(!stack.isEmpty()){qDebug()<<stack.pop(); }3.5 QQueue<T>
QQueue<int> queue; queue.enqueue(100); queue.enqueue(200); queue.enqueue(300);while(!queue.isEmpty()){qDebug()<<queue.dequeue(); }?
總結
- 上一篇: python 关闭窗口事件_关于pyth
- 下一篇: 网络蚂蚁(netants) v1.25