qt的容器类

#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();
}
 

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懂IT的嵌入式工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值