//第一种声明方法
    QStringList list;

//    第二种声明方法
    QStringList* li=new QStringList();
    li->append("aa");
    qDebug()<<li->join("");

    //QT的容器分类顺序容器与关联容器
//    顺序容器 QList QLinkedList QVector QStack QQueue
    QList<int> l;
    l.insert(0,1);
    l.insert(1,2);
    l.insert(2,3);
    l.insert(3,4);
    qDebug()<<l.at(3);

    //后入先出
    QStack<int> s;
    s.push(1);
    s.push(2);
    qDebug()<<s.pop();

    //先入先出
    QQueue<int> q;
    q.enqueue(2);
    q.enqueue(3);
    qDebug()<<q.dequeue();
////////////////////////////////////////////////////////////////
//    关联容器 QMap QMultiMap QHash QMultiHash QSet

    QSet<int> set;
    set.insert(2);
    set.insert(3);
    qDebug()<<set.contains(3);

    QSet<QString> sset;
    sset.insert("xixi");
    sset.insert("lulu");
    qDebug()<<sset.values();

    QMap<QString,QString> map;
    map.insert("a","content a");
    map.insert("b","content b");
    qDebug()<<map.value("a")<<map["b"];
    map.remove("b");

    QHash<QString ,QString> hash;
    hash.insert("a","this is a hash");
    hash.insert("b","this is b hash");
    qDebug()<<hash.value("a")<<hash["b"]<<hash.value("c","this is c");
    //如梦果没有c则返回this is c

//    @1java的类型迭代器
    QListIterator<int> iter(l);
    while(iter.hasNext()){

        qDebug()<<iter.next();

    }

//    反向遍历
    iter.toBack();
    while(iter.hasPrevious()){

        qDebug()<<iter.previous();
    }
qDebug()<<"---------------";
    //修改其值
    QMutableListIterator<int> mutl(l);



    while (mutl.hasNext()) {
        qDebug()<<mutl.next();
    }


//    @foreach
    foreach(int i,l){
        qDebug()<<"-"<<i;
    }

//    STL类型的迭代
    QList<int>::const_iterator dd;
    for(dd=l.constBegin();dd!=l.constEnd();++dd){
        qDebug()<<"*"<<*dd;
    }




 

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐