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~~

相关推荐
岁忧18 分钟前
(LeetCode 面试经典 150 题 ) 11. 盛最多水的容器 (贪心+双指针)
java·c++·算法·leetcode·面试·go
哈市雪花2 小时前
相机:以鼠标点为中心缩放(使用OpenGL+QT开发三维CAD)
qt·相机·opengl·cad·缩放·工业软件·渲染效果
蜉蝣之翼❉5 小时前
CRT 不同会导致 fopen 地址不同
c++·mfc
aramae6 小时前
C++ -- STL -- vector
开发语言·c++·笔记·后端·visual studio
Tony小周6 小时前
实现一个点击输入框可以弹出的数字软键盘控件 qt 5.12
开发语言·数据库·qt
lixzest6 小时前
C++ Lambda 表达式详解
服务器·开发语言·c++·算法
_Chipen7 小时前
C++基础问题
开发语言·c++
灿烂阳光g7 小时前
OpenGL 2. 着色器
c++·opengl
AA陈超8 小时前
虚幻引擎UE5专用服务器游戏开发-20 添加基础能力类与连招能力
c++·游戏·ue5·游戏引擎·虚幻
mit6.8249 小时前
[Meetily后端框架] AI摘要结构化 | `SummaryResponse`模型 | Pydantic库 | vs marshmallow库
c++·人工智能·后端