QT QList介绍及应用

QT QList介绍及应用QList是目前最常用的容器类,它存储了给定类型的值的一个列表,而这些值可以通过索引访问。QList使用数组来实现,以确保进行快速的基于索引的访问。使用QList::append和QList::prepend在列表的两端进行添加项目。使用QList::insert()在列表的中间插入项目。实例:#include<QCoreApplication>#include<Q…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

QList是目前最常用的容器类,它存储了给定类型的值的一个列表,而这些值可以通过索引访问。QList使用数组来实现,以确保进行快速的基于索引的访问。
使用QList::append和QList::prepend在列表的两端进行添加项目。
使用QList::insert()在列表的中间插入项目。
实例:

#include <QCoreApplication>
#include <QList>
#include <QDebug>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QList<QString> list;
    list << "aa" << "bb" << "cc"; // 插入项目
    if(list[1] == "bb") list[1] = "ab";
    list.replace(2, "bc");        // 将“cc”换为“bc”
    qDebug() << "the list is: ";  // 输出整个列表
    for(int i=0; i<list.size(); ++i){
        qDebug() << list.at(i);   // 现在列表为aa ab bc
    }
    list.append("dd");            // 在列表尾部添加
    list.prepend("mm");           // 在列表头部添加
    QString str = list.takeAt(2); // 从列表中删除第3个项目,并获取它
    qDebug() << "at(2) item is: " << str;
    qDebug() << "the list is: ";
    for(int i=0; i<list.size(); ++i)
    {
        qDebug() << list.at(i);   // 现在列表为mm aa bc dd
    }
    list.insert(2, "mm");         // 在位置2插入项目
    list.swap(1,3);               // 交换项目1和项目3
    qDebug() << "the list is: ";
    for(int i=0; i<list.size(); ++i)
    {
        qDebug() << list.at(i);   // 现在列表为mm bc mm aa dd
    }
    qDebug() << "contains 'mm' ?" << list.contains("mm"); // 列表中是否包含“mm”
    qDebug() << "the 'mm' count: " << list.count("mm"); // 包含“mm”的个数
    // 第一个“mm”的位置,默认从位置0开始往前查找,返回第一个匹配的项目的位置
    qDebug() << "the first 'mm' index: " << list.indexOf("mm");
    // 第二个“mm”的位置,我们指定从位置1开始往前查找
    qDebug() << "the second 'mm' index: " << list.indexOf("mm", 1);
    return a.exec();
}

Jetbrains全家桶1年46,售后保障稳定

运行输出:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230957.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用moment格式化日期

    使用moment格式化日期案例:本例是在react-native中格式化日期1,引入moment2,使用moment例如:letstartDate=moment(‘2018-09-27’).format(YYYY-MM-DD);moment使用详解:格式化日期当前时间:moment().format(‘YYYY-MM-DDHH:mm:ss’);//2014-09-2423:…

    2022年6月11日
  • 计算机网络体系结构及其简单通信技术_简述计算机网络体系结构的概念

    计算机网络体系结构及其简单通信技术_简述计算机网络体系结构的概念(一)通信的基本概念:我们知道,通信的目的是快速、有效地传递信息。下面我们先来简单地介绍一点通信的基本知识:现代信息的表达方式有文字、符号、声音、图像数据等多种形式。为了实现信息传递,通常以光、电等信号作为信息的载体。信号:信息的表达形式信道:信号传输的通道,是信号传输媒介的总称。信源:发出信息的地方信宿:信息传送的终点根据传送信息的信道(信号传输媒介)不同,通信可分为有线通信和无线

    2022年9月15日
  • mybatisPlus填坑之逻辑删除

    mybatisPlus填坑之逻辑删除网上大部分的关于mybatisPlus的逻辑删除的配置介绍都是有问题的,原因可能是官网已经做了更新!!!错误如图:正确的配置是:SpringBoot配置方式: application.yml加入配置(如果你的默认值和mp默认的一样,该配置可无): yml文件(区别是多了一个路径db-config,同学们细看了) mybatis-plus:global-c…

    2022年5月5日
  • forkjoin用法_数组join方法

    forkjoin用法_数组join方法Fork/Join是一个分而治之的任务框架,如一个任务需要多线程执行,分割成很多块计算的时候,可以采用这种方法。动态规范:和分而治之不同的是,每个小任务之间互相联系。工作密取:分而治之分割了每个任务之后,某个线程提前完成了任务,就会去其他线程偷取任务来完成,加快执行效率。同时,第一个分配的线程是从队列中的头部拿任务,当完成任务的线程去其他队列拿任务的时候是从尾部拿任务,所以这样就避免了竞争。在Java的Fork/Join框架中,使用两个类完成上述操作:  1.ForkJoinTask:我们要使用F

    2022年9月21日
  • RNN BPTT算法推导

    RNN BPTT算法推导BPTT(沿时反向传播算法)基本原理与BP算法一样,包含三个步骤:前向计算每个神经元的输出值反向计算每个神经元的误差项δjδ_jδj​,它是误差函数E对神经元j的加权输入netjnet_jnetj​的偏导数计算每个权重的梯度最后再用随机梯度下降算法更新权重循环曾如图所示:1.1前向计算循环层的前向计算:隐层:st=f(Uxt+Wst−1)s_t=f(Ux_t+Ws_{t-1})…

    2022年6月23日
  • mysql explain row_MySQL explain详解「建议收藏」

    mysql explain row_MySQL explain详解「建议收藏」例子+—-+————-+———+——+—————+——+———+——+——+——-+|id|select_type|table|type|possible_keys|key|key_len|ref|rows|Extra|+—-+——–…

    2022年10月18日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号