相关文章推荐

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();
                                    在本文中,我将向您展示如何使用QtC++编写一个自定义控件,实现手机通讯录的功能。您可以在其他部分的代码中添加按钮或菜单项,并与ContactsWidget的addContact函数连接,以便添加新的联系人。现在,我们已经创建了一个自定义控件来显示联系人列表,并且可以通过addContact函数添加新的联系人。这是一个简单的示例,演示了如何使用QtC++编写一个自定义控件来实现手机通讯录的功能。在实现文件中,我们需要在构造函数中创建ContactsWidget对象,并将其设置为主窗口的中心窗口。
                                    QMap与QHash差别:①QHash比QMap查找速度更快。②QHash以任意顺序存储,QMap以Key顺序存储数据。③QHash的Key必须提供operator==()及一个全局的qHash(Key)函数,而QMap的Key必须提供operator
                                    1、QList是一种表示链表的模板类。
2、QListQt的一种泛型容器类。它以链表方式存储一组值,并能对这组数据进行快速索引,还提供了快速插入删除操作。
3、QList、QLinkedList和QVector提供的操作极其相似: 
    * 对大多数操作来说,我们用QList就可以了。其API是基于索引(index)的,因此用起来比QLinkedList更方便(QLinkedList...
                                    QList是目前最常用的容器类,它存储了给定类型的值的一个列表,而这些值可以通过索引访问。QList使用数组来实现,以确保进行快速的基于索引的访问。
使用QList::append和QList::prepend在列表的两端进行添加项目。
使用QList::insert()在列表的中间插入项目。
#include <QCoreApplication>
#include <Q...
                                    1、QList介绍
介绍个锤子,有点累,摊牌了,这篇是水的,但是我觉得质量很高,因为我自己写不了这么详细,对,感谢某不知名网站编程指南,我直接白嫖,这篇实在是太多了,说句实话日常使用不久存个指针,然后遍历查找之类的,怎么能写这么多!
在开始讲解 QList 之前,我们先明确一下 Qt 数据容器能存储什么,不能存储什么。
Qt 提供的数据容器都是模板类,构造时要带数据类型,比如下面这句定义整型数列表:
QList<int> integerList;
Qt 数据容器有支持的数据类型,也有不支持的类型
                                    特点:支持随机访问,其界面也是基于索引的,在中间的任意一端插入或移除项都是非常快速的
注:访问QList中的值时,尽量采用value(int i),因为value查不到此值时会返回一个默认值0,而at(int i)则会引起崩溃,并且at返回的值不可修改,不便于后期对数据的处理
	//定义QList变量
    QList<QString> list;
    /***********在列表中添加元素***********/
    // 方式1 <<
    list <&l
QString str1 = "hello ";
QString str2 = "world";
str1.append(str2);                   // str1 = "hello world"
st...
QList<T> 是 Qt 的通用容器类之一。它将其项目存储在相邻的内存位置并提供基于索引的快速访问。QVector<T> 在 Qt 5 中曾经是一个不同的类,但在Qt6它是 QList 的一个别名。
QList<T> 和 QVarLengthArray<T> 提供类似的 API 和功能。它们通常可以互换。
QList 应该是默认首选。
	QVarLengthArray 提供了一个在堆栈上保留空间的数组,但如果需要,可以动态地增长到堆上。用于通
 
推荐文章