QT QList插入-添加-删除-交换-查找-与统计的操作

QT QList插入-添加-删除-交换-查找-与统计的操作

QList类是一种表示链表的模板类,一种泛型容器类,以列表形态存储并管理其中的列表元素,并支持基于快速索引的数据存取, 也可以进行快速的数据删除操作。

QList类对象表示为一组指向被存储元素的数组,元素个数小于1000的QList类对象能够实现在链表中间的快速插入和查找操作。

此外,由于QList类在链表两端都预先分配了内存,因此实现链表前后端的添加操作都很快(这两个成员函数为prepend ()和append() )。
qDebug()<<"开始显示:"<<list2.at(i); //对于只读访问问at(i)比list2[i]速度快

#include <QCoreApplication>
#include <QList>
#include <QDebug>
 
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QList<QString> list2;
    list2<<"aa"<<"bb"<<"cc";//插入项目
    foreach(QString temp,list2)
    {
        qDebug()<<"开始显示:"<<temp;
    }
    if(list2[1]=="bb")
    {
        list2[1]="ab";
    }
    list2.replace(2,"bc");
 
    qDebug()<<"更换后的操作显示:";
    foreach(QString temp,list2)
    {
        qDebug()<<"开始显示:"<<temp;
    }
    qDebug()<<"更换后的操作显示方法2:";
    for(int i=0;i<list2.size();++i)
    {
        qDebug()<<"开始显示:"<<list2.at(i);
    }
    qDebug()<<"追加操作:";
    list2.append("dd5");//尾部增加
    list2.prepend("dda1");//头部增加
     qDebug()<<"追加后显示:";
    foreach(QString temp,list2)
    {
        qDebug()<<"开始显示:"<<temp;
    }
    qDebug()<<"删除第1个项:";
    list2.takeAt(0);
    qDebug()<<"删除后显示:";
    for(int i=0;i<list2.size();++i)
    {
        qDebug()<<"开始显示:"<<list2.at(i); //对于只读访问问at(i)比list2[i]速度快
    }
    //插入操作
     qDebug()<<"开始插入-----------:";
     list2.insert(1,"aa2");
     foreach(QString temp,list2)
     {
         qDebug()<<"开始显示:"<<temp;
     }
 
     qDebug()<<"交换操作--第1项与第2项-------:";
     list2.swap(0,1);
     foreach(QString temp,list2)
     {
         qDebug()<<"开始显示:"<<temp;
     }
     qDebug()<<"列表中查找某一字符串是否存在----dd5---:";
     qDebug()<<"是否包含dd5,结果"<<list2.contains("dd5");
     qDebug()<<"统计dd5的个数,结果"<<list2.count("dd5");
 
     list2.append("dd6");
     list2.append("dd5");
     foreach(QString temp,list2)
     {
         qDebug()<<"开始显示:"<<temp;
     }
 
     qDebug()<<"从索引0开始查找第一个dd5的位置,结果"<<list2.indexOf("dd5",0);
     qDebug()<<"从索引5开始查找第二个dd5的位置,结果"<<list2.indexOf("dd5",5);
 
    return a.exec();
}
 
#include <QCoreApplication>
#include <QList>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QList<QString> list2;
    list2<<"aa"<<"bb"<<"cc";//插入项目
    foreach(QString temp,list2)
    {
        qDebug()<<"开始显示:"<<temp;
    }
    if(list2[1]=="bb")
    {
        list2[1]="ab";
    }
    list2.replace(2,"bc");

    qDebug()<<"更换后的操作显示:";
    foreach(QString temp,list2)
    {
        qDebug()<<"开始显示:"<<temp;
    }
    qDebug()<<"更换后的操作显示方法2:";
    for(int i=0;i<list2.size();++i)
    {
        qDebug()<<"开始显示:"<<list2.at(i);
    }
    qDebug()<<"追加操作:";
    list2.append("dd5");//尾部增加
    list2.prepend("dda1");//头部增加
     qDebug()<<"追加后显示:";
    foreach(QString temp,list2)
    {
        qDebug()<<"开始显示:"<<temp;
    }
    qDebug()<<"删除第1个项:";
    list2.takeAt(0);
    qDebug()<<"删除后显示:";
    for(int i=0;i<list2.size();++i)
    {
        qDebug()<<"开始显示:"<<list2.at(i); //对于只读访问问at(i)比list2[i]速度快
    }
    //插入操作
     qDebug()<<"开始插入-----------:";
     list2.insert(1,"aa2");
     foreach(QString temp,list2)
     {
         qDebug()<<"开始显示:"<<temp;
     }

     qDebug()<<"交换操作--第1项与第2项-------:";
     list2.swap(0,1);
     foreach(QString temp,list2)
     {
         qDebug()<<"开始显示:"<<temp;
     }
     qDebug()<<"列表中查找某一字符串是否存在----dd5---:";
     qDebug()<<"是否包含dd5,结果"<<list2.contains("dd5");
     qDebug()<<"统计dd5的个数,结果"<<list2.count("dd5");

     list2.append("dd6");
     list2.append("dd5");
     foreach(QString temp,list2)
     {
         qDebug()<<"开始显示:"<<temp;
     }

     qDebug()<<"从索引0开始查找第一个dd5的位置,结果"<<list2.indexOf("dd5",0);
     qDebug()<<"从索引5开始查找第二个dd5的位置,结果"<<list2.indexOf("dd5",5);

    return a.exec();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

txwtech笛克特科

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

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

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

打赏作者

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

抵扣说明:

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

余额充值