#include <QCoreApplication>
#include <QDebug>
//QListIterator
void printList()
{
QList<int> list;
list<<1<<2<<3<<4<<5;
QListIterator<int> i(list);
qDebug()<<"正序打印....";
//正序打印
for(;i.hasNext();)
qDebug()<<i.next();
//倒序打印
qDebug()<<"倒序打印....";
i.toBack();
for(;i.hasPrevious();)
qDebug()<<i.previous();
}
void mutableList(){
QList<int> list;
qDebug()<<"插入列表数据0-9:";
QMutableListIterator<int> i(list);//创建迭代器
for(int j=0;j<10;j++)
i.insert(j);
for(i.toFront();i.hasNext();)
qDebug()<<i.next();
qDebug()<<"偶数删除,奇数乘以10:";
//偶数删除,奇数乘以10:
for(i.toBack();i.hasPrevious();)
{
if(i.previous()%2==0){
i.remove();
}else{
i.setValue(i.peekNext()*10);
}
}
for(i.toFront();i.hasNext();)
qDebug()<<i.next();
}
void QListInsert()
{
QList<int> list;
for(int j=0;j<9;j++)
list.insert(list.end(),j);
qDebug("QList<int>::iterator");
QList<int>::iterator i;
for(i=list.begin();i!=list.end();++i){
qDebug()<<(*i);
*i =(*i)*10;
}
qDebug("QList<int>::const_iterator");
QList<int>::const_iterator ci;
for(ci=list.constBegin();ci!=list.constEnd();++ci)
{
qDebug()<<(*ci);
}
}
void QMapEdit()
{
QMap<QString,QString> map;
map.insert("北京","111");
map.insert("上海","021");
map.insert("南京","025");
QMapIterator<QString,QString> i(map);
for(;i.hasNext();)
{
i.next();
qDebug()<<i.key()<<"|"<<i.value();
}
qDebug("修改 key 111 to 010");
QMutableMapIterator<QString,QString> mi(map);
if(mi.findNext("111"))
mi.setValue("010");
QMapIterator<QString,QString> modi(map);
for(;modi.hasNext();)
{
modi.next();
qDebug()<<modi.key()<<"|"<<modi.value();
}
}
/*在 QMap 中的插入、遍历和修改。
* 通过查找键来实现值的修改。
*/
void QMapEditPrint()
{
QMap<QString,QString> map;
map. insert ("beijing","111");
map.insert("shanghai","021");
map.insert("nanjing","025");
QMap<QString,QString>::const_iterator i;
for(i=map.constBegin();i!=map.constEnd();++i)
{
qDebug()<<i.key()<<"|"<<i.value();
}
qDebug()<<"修改 111→ 1000";
QMap<QString,QString>::Iterator mi;
mi =map.find("beijing");
if(mi!= map.end())
mi.value()= "010";
QMap<QString,QString>::const_iterator modi;
for(modi=map.constBegin();modi!=map.constEnd();++modi)
{
qDebug()<<modi.key()<<"|"<<modi.value();
}
}
//绝对值、最大值、四舍五入
void absMax(){
double a = -19.3,b= 9.7;
double c =qAbs(a);
double max = qMax(b,c);
int bn =qRound(b);
int cn =qRound(c);
qDebug()<<"a="<<a;
qDebug()<<"b="<<b;
qDebug()<<"c =qAbs(a)="<<c;
qDebug()<<"qMax(b,c)="<<max;
qDebug()<<"qRound(b)="<<bn;
qDebug()<<"qRound(c)="<<cn;
}
int main(int argc, char *argv[])
{
QCoreApplication a0(argc, argv);
printList();
mutableList();
QListInsert();
QMapEdit();
QMapEditPrint();
absMax();
return a0.exec();
}
运行结果
正序打印....
1
2
3
4
5
倒序打印....
5
4
3
2
1
插入列表数据0-9:
0
1
2
3
4
5
6
7
8
9
偶数删除,奇数乘以10:
10
30
50
70
90
QList<int>::iterator
0
1
2
3
4
5
6
7
8
QList<int>::const_iterator
0
10
20
30
40
50
60
70
80
"上海" | "021"
"北京" | "111"
"南京" | "025"
修改 key 111 to 010
"上海" | "021"
"北京" | "010"
"南京" | "025"
"beijing" | "111"
"nanjing" | "025"
"shanghai" | "021"
修改 111→ 1000
"beijing" | "010"
"nanjing" | "025"
"shanghai" | "021"
a= -19.3
b= 9.7
c =qAbs(a)= 19.3
qMax(b,c)= 19.3
qRound(b)= 10
qRound(c)= 19
end!