Qt 容器 Qlist

修改元素

1.修改链表指定位置元素 replace(5,66) 函数体指的是修改链表第五个元素,改为66

2.采用数组下标修改链表的元素: list[0] = 100 ; 把链表数组下标为0的元素改为100

删除元素

1.list.removeFirst() 删除第一个元素

2.list.removeLast() 删除最后一个元素

3.list.removeAt(2)  删除指定元素,下标元素为2

4.list.removeOne(99)  删除已知链表里面数据的元素,删除99

5.list.clear()  清空链表

Java风格迭代器

读写迭代器

//Java风格的迭代器
    //可读可写迭代器
    QList montList; //定义链表 月份
    QMutableListIterator it_mrw(montList); //读写迭代器
    for(int i=0 ; i< 12 ; i++) //初始化元素
        it_mrw.insert(i);      //插入元素

    qDebug()<<"初始化后数据反遍历:";
    for(it_mrw.toBack();it_mrw.hasPrevious();)
        qDebug()< it_mr(montList);

    //正遍历
    qDebug()<<"只读迭代器正遍历:";
    for(it_mr.toFront();it_mr.hasNext();)
        qDebug()<

QMutableListIterator 是 Qt 框架中提供的一个迭代器,专门用于修改列表(QList)中的元素。与标准的 Qt 迭代器(如 QListIterator)不同,QMutableListIterator 允许你在迭代过程中直接修改列表的内容。

当你使用 QMutableListIterator 遍历一个列表时,你可以直接通过迭代器来修改该列表的元素。这对于在遍历列表的同时进行修改操作非常有用。

STL风格迭代器

 QList numList;
    numList << 11 << 22 << 33 << 44 << 55 ;

    //读写迭代器
    QList::iterator it_numRW;
    it_numRW = numList.begin();
    for(;it_numRW !=numList.end();++it_numRW)
    {
        *it_numRW = *it_numRW * 10;
        qDebug()<<*it_numRW;
    }

    //只读迭代器
    QList::const_iterator it_numR;
    it_numR = numList.constBegin();
    qDebug()<<"STL风格只读正遍历:";
    for(;it_numR !=numList.constEnd();++it_numR)
        qDebug()<<*it_numR;

QLinkedList类

 QLinkedList weekList;
    for(int j=1; j < 8;j++)
        weekList< it_wr(weekList);
    for(it_wr.toFront();it_wr.hasNext();)
        qDebug()< it_wrw(weekList);
    for(it_wrw.toFront();it_wrw.hasNext();)
    {
        QString day = it_wrw.next();
        if(day == "星期3")
            it_wrw.setValue("星期三");
        if(day == "星期5")
            it_wrw.remove();
    }

    qDebug()<<"weekList修改数据后:";
    for(it_wrw.toFront();it_wrw.hasNext();)
        qDebug()<

QList与QLinkedList区别: 

QLinkedList类不能使用.At及数组来访问元素,但当插入数据元素量特别庞大时:QLinkedList比QList速度更快及更加便捷 

你可能感兴趣的:(Qt项目学习,qt,开发语言,c++)