容器

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 }
内在的趣味,表面的繁琐
原文地址:https://www.cnblogs.com/data1213/p/10742131.html