您的位置:首页 > 健康 > 养生 > Qt 中QList、QListIterator 、QMutableListIterator、QMap用法

Qt 中QList、QListIterator 、QMutableListIterator、QMap用法

2024/7/6 19:18:46 来源:https://blog.csdn.net/castlooo/article/details/139450326  浏览:    关键词:Qt 中QList、QListIterator 、QMutableListIterator、QMap用法
#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!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com