QList类

void Widget::QMutableList(void)  //java格式的list
{
    QList<int> list;    //QT容器类
    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);
            i.setValue(i.value()*10);
    }

    for(i.toFront();i.hasNext();) //遍历数据
        qDebug()<<i.next();

}

void Widget::QConstList(void)  //stl格式的list
{
    QList<int> list;  //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) //迭代器指向list
    {
        qDebug()<<(*i);
        *i = (*i)*10;
    }

    QList<int>::const_iterator ci;  //只读迭代器
    for(ci = list.begin();ci!=list.end();++ci) //迭代器指向list
    {
        qDebug()<<(*ci); //输出list容器的值
    }
}

void Widget::QmapJava(void)  //Java格式的map
{
    QMap<QString,QString> map;  //map容器
    map.insert("beijing","111");   //插入数据
    map.insert("shanghai","021");
    map.insert("nanjing","025");

    QMapIterator<QString,QString> i(map);  //map只读迭代器
    for(;i.hasNext();)
    {
       i.next();
       qDebug()<<i.key()<<":"<<i.value();
    }

    QMutableMapIterator<QString,QString> mi(map); //map读写迭代器
    if(mi.findNext("111"))    //查找数据并更改
        mi.setValue("010");

    QMapIterator<QString,QString> modi(map);  //map只读迭代器
    for(;modi.hasNext();)  //map遍历
    {
        modi.next();
        qDebug()<<modi.key()<<":"<<modi.value();

    }
}

void Widget::QmapStl(void)  //stl格式map
{
    QMap<QString,QString> map;  //定义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) //遍历map
        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;   //创建只读迭代器
    for(modi = map.constBegin();modi!=map.constEnd();++modi) //遍历map
        qDebug()<<modi.key()<<":"<<modi.value();
}
posted @ 2022-07-10 10:35  *^VV^*  阅读(66)  评论(0编辑  收藏  举报