#include
<QCoreApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
//@@@@@@@@@@@@@@@@@@@@@@@@@@@ QList,QLinkedList,QVector
//1.QList 容器类,可以使用下标访问
/*QList<QString> list;
{
QString str("This is a test string");
list<<str;
}
qDebug()<<list[0]<<"How are you! ";
*/
//2.使用java风格的迭代器读容器类
/*QList<int> list;
list<<1<<2<<3<<4<<5;
QListIterator<int> i(list);//创建一个只读迭代器类
for(;i.hasNext();)
qDebug()<<i.next();
*/
//3.使用java风格的迭代器读写容器类
/* QList<int> list;
QMutableListIterator<int> i(list);//创建列表的读写迭代器
for(int j=0;j<10;++j)
i.insert(j);
for(i.toFront();i.hasNext();)
qDebug()<<i.next();
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();
*/
//4.使用STL风格的迭代器
/*QList<int> list;
for(int j=0;j<10;j++)
list.insert(list.end(),j);
QList<int>::iterator i;
for(i=list.begin();i!=list.end();++i)
{
qDebug()<<(*i);
*i=(*i)*10;
}
QList<int>::const_iterator ci;
for(ci=list.constBegin();ci!=list.constEnd();++ci)
qDebug()<<*ci;
*/
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ QMap,QHash
//5.使用java风格迭代器
/*QMap<QString,QString> map;
map.insert("beijing","111");
map.insert("shanghai","021");
map.insert("nanjing","025");
QMapIterator<QString,QString> i(map);
for(;i.hasNext();)
qDebug()<<" "<<i.key()<<" "<<i.next().value();
QMutableMapIterator<QString,QString> mi(map);
if(mi.findNext("111"))
mi.setValue("010");
QMapIterator<QString,QString> modi(map);
qDebug()<<" ";
for(;modi.hasNext();)
qDebug()<<" "<<modi.key()<<" "<<modi.next().value();
*/
//6.使用STL风格迭代器
QMap<QString,QString> map;
map.insert("beijing","111");
map.insert("shanghai","021");
map.insert("jinan","0531");
QMap<QString,QString>::const_iterator i;
for(i=map.constBegin();i!=map.constEnd();++i)
qDebug()<<" "<<i.key()<<" "<<i.value();
QMap<QString,QString>::iterator mi;
mi=map.find("beijing");
if(mi!=map.end())
mi.value()="010";
QMap<QString,QString>::const_iterator modi;
qDebug()<<" ";
for(modi=map.constBegin();modi!=map.constEnd();++modi)
qDebug()<<" "<<modi.key()<<" "<<modi.value();
return a.exec();
}