qt 容器QStringList的常见使用

news/2024/7/24 11:18:12 标签: qt, c++

容器 QStringList是一个字符串链表,里面存放的是QString类型的元素.下面是QStringList链表的一些常见用法.

1.在QStringList中添加元素.

    QStringList weekList;
    weekList<<"星期一"<<"星期二"<<"星期三";

2.在链表尾部添加元素.

    weekList.append("星期天");//在链表尾部添加

3.for遍历链表.使用函数 at(),传入的参数就是元素的位置.下表需要从0数起.

    for(int i=0;i<weekList.size();i++){
        qDebug()<<weekList.at(i);
    }

4.foreach遍历.遍历链表weekList,用QString类型的变量 s 临时存放里面的元素.这也正好印证了QStringList里面存放的元素是QString类型.

    foreach(QString s,weekList){
        qDebug()<<s;
    }

5.使用STL风格迭代器访问.for循环中,只要迭代器没有指向链表的最后一个元素的下一个位置(end()),就继续往后读(++it).

    QStringList::iterator it = weekList.begin();//把迭代器定位到链表开始的位置
    for(;it!= weekList.end();++it){
        qDebug()<<*it;
    }

6.java风格迭代器访问.

QListIterator是字符串链表的迭代器,存放QString类型元素.hasNext():当前位置的下一个位置是否存在元素;next():因为初始位置不是第一个元素,而是第一个元素的前一个位置,所以需要往后偏移一位.

    //QListIterator:字符串链表的迭代器,元素是QString类型.
    QListIterator<QString> itr(weekList);
    while(itr.hasNext()){//后面还有元素就执行
        qDebug()<<itr.next();//next()原因:初始位置不是第一个元素.是第一个元素的前面.
    }

7.contains() QStringList链表中是否存在某个元素.

qDebug()<<"链表中有星期八:"<<weekList.contains("星期八");//不存在 false

8.insert(): 往链表中插入元素.参数:指定插入链表的位置,指定插入的QString类型字符串.

prepend(): 在链表头部插入元素.

weekList.insert(0,"星期零");    //0则表示头部插入
//weekList.prepend("星期零");   //头部插入

9.append() 链表尾部插入元素

weekList.append("星期八");

10.removeFist()删除头元素

    weekList.removeFirst();

11.removeLast()删除尾元素.

    weekList.removeLast();

12.removeOne()删除某个元素

    weekList.removeOne("星期一");

13.removeAt()删除指定位置的元素.

    weekList.removeAt(0);

14.clear()清空整个链表.

    weekList.clear();

all~~


http://www.niftyadmin.cn/n/5216231.html

相关文章

大数据学习(24)-spark on hive和hive on spark的区别

&&大数据学习&& &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 承认自己的无知&#xff0c;乃是开启智慧的大门 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一下博主哦&#x1f91…

第六题-红和蓝【第六届传智杯程序设计挑战赛解题分析详解复盘】(JavaPythonC++实现)

🚀 欢迎来到 ACM 算法题库专栏 🚀 在ACM算法题库专栏,热情推崇算法之美,精心整理了各类比赛题目的详细解法,包括但不限于ICPC、CCPC、蓝桥杯、LeetCode周赛、传智杯等等。无论您是刚刚踏入算法领域,还是经验丰富的竞赛选手,这里都是提升技能和知识的理想之地。 ✨ 经典…

Vue+SpringBoot项目前端如何获取本地磁盘路径的照片

一、问题 今日项目中遇到的问题&#xff1a; 在页面想要展示本地磁盘路径的照片&#xff0c;但是一直无法显示出来 原因&#xff1a;可能是vue无法直接读取本地磁盘的照片&#xff08;本人盲猜&#xff09; 1.解决思路 1.后端进行静态资源映射 2.前端调用 2.实现步骤一 在后端的…

RabbitMQ之延迟消息实战

RabbitMQ之延迟消息实战 使用死信交换机实现延迟消息 使用死信交换机的过期时间以及没有消费者进行消费&#xff0c;时间到了就会到死信队列中&#xff0c;由此可以实现延迟消息使用延迟消息插件 前提&#xff1a;需要mq配置插件 延时信息案例实战 把一个30分钟的延迟消息可以…

【Java】实现一个自己的定时器

上文讲了怎样使用Java自带的定时器【Java】定时器的简单应用 这篇博客就来讲如何来编写一个自己实现的定时器 1、代码框架 由定时器的使用方法得知&#xff0c;我们在使用定时器的时候会添加一个任务timerTask类&#xff0c;而timer类则是我们行使任务的类&#xff0c;因此可…

MyBatis-Plus简介和入门操作

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…

皮尔逊相关性分析的matlab实现,简介和实例

皮尔逊相关性分析&#xff08;Pearson correlation analysis&#xff09;是一种常用的统计方法&#xff0c;用于衡量两个变量之间的线性关系强度和方向。它通过计算两个变量之间的协方差和标准差来衡量它们之间的相关性。皮尔逊相关系数的取值范围为 -1 到 1&#xff0c;其中 -…

【Android】Android Framework系列--Launcher3各启动场景源码分析

Android Framework系列–Launcher3各启动场景源码分析 Launcher3启动场景 Launcher3是Android系统提供的默认桌面应用(Launcher)&#xff0c;它的源码路径在“packages/apps/Launcher3/”。 Launcher3的启动场景主要包括&#xff1a; 开机后启动&#xff1a;开机时&#xff…