qt 容器QStringList的常见使用

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

1.在QStringList中添加元素.

cpp 复制代码
    QStringList weekList;
    weekList<<"星期一"<<"星期二"<<"星期三";

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

cpp 复制代码
    weekList.append("星期天");//在链表尾部添加

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

cpp 复制代码
    for(int i=0;i<weekList.size();i++){
        qDebug()<<weekList.at(i);
    }

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

cpp 复制代码
    foreach(QString s,weekList){
        qDebug()<<s;
    }

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

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

6.java风格迭代器访问.

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

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

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

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

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

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

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

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

cpp 复制代码
weekList.append("星期八");

10.removeFist()删除头元素

cpp 复制代码
    weekList.removeFirst();

11.removeLast()删除尾元素.

cpp 复制代码
    weekList.removeLast();

12.removeOne()删除某个元素

cpp 复制代码
    weekList.removeOne("星期一");

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

cpp 复制代码
    weekList.removeAt(0);

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

cpp 复制代码
    weekList.clear();

all~~

相关推荐
木千2 分钟前
Qt5.15.2安装MSVC2019编译器
开发语言·qt
专注于ai算法的踩坑小达人4 分钟前
C++变量全面总结
c++·qt
去往火星9 分钟前
Qt6 CMake 中引入 Qt Linguist 翻译功能
开发语言·qt
阿猿收手吧!12 分钟前
【C++】atmoic原子操作与并发安全全解析
开发语言·c++·安全
凯子坚持 c22 分钟前
C++基于微服务脚手架的视频点播系统---客户端(1)
开发语言·c++·微服务
CSDN_RTKLIB26 分钟前
SharedPtr测试步骤说明
c++
呱呱巨基29 分钟前
Linux 第一个系统程序 进度条
linux·c++·笔记·学习
2401_8384725131 分钟前
C++中的装饰器模式实战
开发语言·c++·算法
爱学习的阿磊1 小时前
C++与Qt图形开发
开发语言·c++·算法
历程里程碑1 小时前
Linux 16 环境变量
linux·运维·服务器·开发语言·数据库·c++·笔记