本文共 2941 字,大约阅读时间需要 9 分钟。
主要说Qt的以下几种容器
1.QList<T>
2.QLinkedList<T>
3.Map<T>
和一些常用的容器方法的使用
qSort
qCopy
qFind
1.QList<T>泛型集合是最常用的一种容器
看一下它的常用 操作
添加删除和两个迭代器
QListIterator和QMutableListIterator
#include#include #include int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); QList listInt; //添加 for(int i =0;i<10;i++) { listInt.append(i); //也可以这样添加元素 //listInt<
2.QLinkedList<T>
QLinkedList<T>和QList<T>差不多,不同的一点是它是用迭代器做的访问项
也就是说QList<int> list只以通过这样访问它的内容list[i]而QLinkedList不可以只能用Iterator
性能上它要高于QList<T>
#include#include #include int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); QLinkedList link; link<<1<<2<<2<<3<<4; qDebug()<<"迭代器访问QLinkedListIterator"; QLinkedListIterator iterator(link); while(iterator.hasNext()) { qDebug()<< iterator.next(); } //删除第一个2 link.removeOne(2); //添加两个3这两种方式一样 link.push_back(3); link.append(3); //删除所有的3 link.removeAll(3); qDebug()<<"普通访问foreach"; foreach (int item, link) { qDebug()<< item; } qDebug()<<"迭代器QMutableLinkedListIterator"; QMutableLinkedListIterator mutableIter(link); while(mutableIter.hasNext()) { int i= mutableIter.next(); if(i==1) { mutableIter.insert(90); } if(i==4) { mutableIter.remove(); } qDebug()<
a
3Map<T>
map类型是一个键值对 key/value组成 其它的和上边的两个集合没什么区别
#include#include #include int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); QMap map; map.insert(1,"a"); map.insert(2,"b"); map.insert(3,"c"); QMutableMapIterator mutableIte(map); while(mutableIte.hasNext()) { mutableIte.next(); qDebug()< <<" "<
下边说一下常用的集合操作方法
qSort
qCopy
qFind
#include#include #include #include int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); QList listStrs; listStrs<<10<<5<<8<<2<<7; qSort(listStrs); foreach (int i, listStrs) { qDebug()<
本文转自lpxxn博客园博客,原文链接:http://www.cnblogs.com/li-peng/p/3653908.html,如需转载请自行联系原作者