QList:
1 #include "dialog.h" //用户自定义控件 2 #include <QApplication> //这个头文件是应用程序必须的 3 #include <QDebug> 4 #include <QList> 5 6 int main(int argc, char *argv[]) 7 { 8 9 QList<QString> list; 10 //这样的定义方式下,list相当于C++中的 string[] 11 12 list << QString("This is a 1 test string"); 13 list << QString("This is a 2 test string"); 14 15 qDebug()<< list[1] << "How are you! "; 16 17 QList<int> list_1; //相当于定义了int[] list 18 list_1.insert(0,1); 19 list_1.insert(1,2); 20 21 qDebug()<< list_1[1]; 22 23 /*遍历*/ 24 QList<int> alist; 25 alist<<1<<2<<3<<4<<5; 26 27 QListIterator<int> i(alist); //定义迭代器 28 /* 29 * toFront(),移动迭代点到列表前面。 30 * hasNext(),检查当前迭代点之后是否还有列表项。 31 * next(),向后移动一个单位迭代点,同时返回其列表项 32 */ 33 for(i.toFront();i.hasNext();){ 34 qDebug()<<i.next(); 35 } 36 37 //遍历2,STL风格迭代方式 38 QList<int>::iterator j; 39 for(j=alist.begin();j!=alist.end();j++){ 40 qDebug()<<(*j); 41 } 42 43 return 0; 44 }
QMap:
1 #include "dialog.h" //用户自定义控件 2 #include <QApplication> //这个头文件是应用程序必须的 3 #include <QDebug> 4 #include <QList> 5 6 int main(int argc, char *argv[]) 7 { 8 9 QMap<QString,QString> map; 10 map.insert("beijing","001"); 11 map.insert("chengdu","002"); 12 map.insert("shanghai","003"); 13 14 /* 15 * 遍历key时,调用QMapIterator<T,T>::key(),它不需要使迭代移动到下一个位置 16 * 遍历value时,调用QMapIterator<T,T>::next() 17 */ 18 QMapIterator<QString,QString> i(map); 19 for(;i.hasNext();){ 20 qDebug()<<"( "<<i.key()<<" ,"<<i.next().value()<<")"; 21 } 22 23 //修改其中的项 24 QMutableMapIterator<QString,QString> mi(map); 25 if(mi.findNext("002")){ 26 mi.setValue("100"); 27 } 28 29 QMap<QString,QString>::iterator mt; 30 mt = map.find("beijing"); 31 if(mt!=map.end()){ 32 mt.value() = "010"; 33 } 34 35 //STL风格遍历方式 36 QMap<QString,QString>:: const_iterator j; 37 for(j=map.constBegin();j!=map.constEnd();j++){ 38 qDebug()<<j.key()<<","<<j.value(); 39 } 40 41 return 0; 42 }