Qt 容器 Qlist

修改元素

1.修改链表指定位置元素 replace(5,66) 函数体指的是修改链表第五个元素,改为66

2.采用数组下标修改链表的元素: list[0] = 100 ; 把链表数组下标为0的元素改为100

删除元素

1.list.removeFirst() 删除第一个元素

2.list.removeLast() 删除最后一个元素

3.list.removeAt(2)  删除指定元素,下标元素为2

4.list.removeOne(99)  删除已知链表里面数据的元素,删除99

5.list.clear()  清空链表

Java风格迭代器

读写迭代器

//Java风格的迭代器//可读可写迭代器QList<int> montList; //定义链表 月份QMutableListIterator<int> it_mrw(montList); //读写迭代器for(int i=0 ; i< 12 ; i++) //初始化元素it_mrw.insert(i);      //插入元素qDebug()<<"初始化后数据反遍历:";for(it_mrw.toBack();it_mrw.hasPrevious();)qDebug()<<it_mrw.previous();qDebug()<<"初始化后数据正遍历:";for(it_mrw.toFront();it_mrw.hasNext();)qDebug()<<it_mrw.next();//把第一元素改为1,最后一个元素改为12for(it_mrw.toFront();it_mrw.hasNext();){int month = it_mrw.next();if(month == 0)it_mrw.remove();if(month == 11)it_mrw.setValue(12);}qDebug()<<"修改后数据正遍历:";for(it_mrw.toFront();it_mrw.hasNext();)qDebug()<<it_mrw.next();//只读迭代器//只读迭代器QListIterator<int> it_mr(montList);//正遍历qDebug()<<"只读迭代器正遍历:";for(it_mr.toFront();it_mr.hasNext();)qDebug()<<it_mr.next();//反遍历qDebug()<<"只读迭代器反遍历:";for(it_mr.toBack();it_mr.hasPrevious();)qDebug()<<it_mr.previous();

QMutableListIterator 是 Qt 框架中提供的一个迭代器,专门用于修改列表(QList)中的元素。与标准的 Qt 迭代器(如 QListIterator)不同,QMutableListIterator 允许你在迭代过程中直接修改列表的内容。

当你使用 QMutableListIterator 遍历一个列表时,你可以直接通过迭代器来修改该列表的元素。这对于在遍历列表的同时进行修改操作非常有用。

STL风格迭代器

 QList<int> numList;numList << 11 << 22 << 33 << 44 << 55 ;//读写迭代器QList<int>::iterator it_numRW;it_numRW = numList.begin();for(;it_numRW !=numList.end();++it_numRW){*it_numRW = *it_numRW * 10;qDebug()<<*it_numRW;}//只读迭代器QList<int>::const_iterator it_numR;it_numR = numList.constBegin();qDebug()<<"STL风格只读正遍历:";for(;it_numR !=numList.constEnd();++it_numR)qDebug()<<*it_numR;

QLinkedList类

 QLinkedList<QString> weekList;for(int j=1; j < 8;j++)weekList<<QString("%1%2").arg("星期").arg(j);//Java风格只读迭代器QLinkedListIterator<QString> it_wr(weekList);for(it_wr.toFront();it_wr.hasNext();)qDebug()<<it_wr.next();//Java风格读写迭代器QMutableLinkedListIterator<QString> it_wrw(weekList);for(it_wrw.toFront();it_wrw.hasNext();){QString day = it_wrw.next();if(day == "星期3")it_wrw.setValue("星期三");if(day == "星期5")it_wrw.remove();}qDebug()<<"weekList修改数据后:";for(it_wrw.toFront();it_wrw.hasNext();)qDebug()<<it_wrw.next();//插入元素for(it_wrw.toFront();it_wrw.hasNext();){QString day = it_wrw.next();if(day == "星期4")it_wrw.insert("星期五");}qDebug()<<"添加星期五后遍历:";for(it_wrw.toFront();it_wrw.hasNext();)qDebug()<<it_wrw.next();

QList与QLinkedList区别: 

QLinkedList类不能使用.At及数组来访问元素,但当插入数据元素量特别庞大时:QLinkedList比QList速度更快及更加便捷 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/638916.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯:1.特殊日期(Java)

题目描述 对于一个日期&#xff0c;我们可以计算出年份的各个数位上的数字之和&#xff0c;也可以分别计算月和日的各位数字之和。 请问从1900年1月1日至9999年12月31日&#xff0c;总共有多少天&#xff0c;年份的数位数字之和等于月的数位数字之和加日的数位数字之和。 例如&…

《Python数据分析技术栈》第05章 06 矩阵(Matrices)

06 矩阵&#xff08;Matrices&#xff09; 《Python数据分析技术栈》第05章 06 矩阵&#xff08;Matrices&#xff09; A matrix is a two-dimensional data structure, while an array can consist of any number of dimensions. 矩阵是一种二维数据结构&#xff0c;而数组…

Linux tree命令教程:查看和导航目录结构(附案例详解和注意事项)

Linux tree命令介绍 tree是一个递归的目录列表程序&#xff0c;它可以生成一份文件和目录的深度缩进列表。无论何时你需要查看目录和子目录的结构&#xff0c;tree命令就是你需要的工具。tree命令还能够列出仅目录&#xff0c;隐藏文件&#xff0c;包括文件路径&#xff0c;根…

【Python】torch.no_grad()函数详解和示例

torch.no_grad() 是 PyTorch 中的一个上下文管理器&#xff0c;用于在进入该上下文时禁用梯度计算。这在你只关心评估模型&#xff0c;而不是训练模型时非常有用&#xff0c;因为它可以显著减少内存使用并加速计算。 当你在 torch.no_grad() 上下文管理器中执行张量操作时&…

Unity中实现捏脸系统

前言 目前市面上常见的捏脸一般是基于BlendShapes和控制骨骼点坐标两种方案实现的。后者能够控制的精细程度更高&#xff0c;同时使用BlendShapes来控制表情。 控制骨骼点坐标 比如找到控制鼻子的骨骼节点修改localScale缩放&#xff0c;调节鼻子大小。 BlendShapes控制表…

【数学笔记】集合及简要逻辑

集合 基础简要逻辑集合间的关系与运算 基础 集合定义&#xff1a;把一些能够确定的不同对象组成的整体叫做一个集合&#xff0c;每个对象叫做元素。集合记法&#xff1a;一般用大写字母 A , B , C . . . . . . A,B,C...... A,B,C......表示集合&#xff0c;小写字母 a , b ,…

分布式锁实现(mysql,以及redis)以及分布式的概念

道生一&#xff0c;一生二&#xff0c;二生三&#xff0c;三生万物 我旁边的一位老哥跟我说&#xff0c;你知道分布式是是用来干什么的嘛&#xff1f;一句话给我干懵了&#xff0c;我能隐含知道&#xff0c;大概是用来做分压处理的&#xff0c;并增加系统稳定性的。但是具体如…

特征融合篇 | YOLOv8 引入长颈特征融合网络 Giraffe FPN

在本报告中,我们介绍了一种名为DAMO-YOLO的快速而准确的目标检测方法,其性能优于现有的YOLO系列。DAMO-YOLO是在YOLO的基础上通过引入一些新技术而扩展的,这些技术包括神经架构搜索(NAS)、高效的重参数化广义FPN(RepGFPN)、带有AlignedOTA标签分配的轻量级头部以及蒸馏增…

android usb2.0 协议基础(1)

1-USB 基本知识 USB的重要关键概念: 1、 端点&#xff1a;位于USB设备或主机上的一个数据缓冲区&#xff0c;用来存放和发送USB的各种数据&#xff0c;每一个端点都有惟一的确定地址&#xff0c;有不同的传输特性&#xff08;如输入端点、输出端点、配置端点、批量传输端点) 2…

ORB-SLAM 论文阅读

论文链接 ORB-SLAM 0. Abstract 本文提出了 ORB-SLAM&#xff0c;一种基于特征的单目同步定位和建图 (SLAM) 系统该系统对严重的运动杂波具有鲁棒性&#xff0c;允许宽基线环路闭合和重新定位&#xff0c;并包括全自动初始化选择重建的点和关键帧的适者生存策略具有出色的鲁棒…

Android 基础技术——View 的宽高

笔者希望做一个系列&#xff0c;整理 Android 基础技术&#xff0c;本章是关于 View 的宽高 Activity Resume 的时候设置或者获取view的宽高是否有效? 回答&#xff1a;不确定。 首次 onResume 无效&#xff0c;二次 onResume 就有效了。 回顾「Android 基础技术——addView 流…

QT基础篇(13)QT5数据库

1.数据库基本概念 数据库&#xff08;Database&#xff09;是指存储、管理和组织数据的集合。它是一个组织化的、可持久化的数据集合&#xff0c;用于支持数据的存储、检索、更新和管理。 数据库系统&#xff08;Database System&#xff09;是建立在计算机上的数据管理系统&…

Eclipses安装教程

一、下载开发工具包 1、开发工具包JDK 下载地址链接&#xff1a;https://www.oracle.com/cn/java/technologies/downloads/ 下载教程&#xff1a; 1&#xff09;点击链接&#xff0c;可以跳转到页面 2&#xff09;下滑页面&#xff0c;找到开发工具包 3&#xff09; 记住下载之…

初识C语言·自定义类型(1)

目录 1 联合体类型的声明 2 联合体的特点 3 联合体的大小计算 4 枚举类型类型的声明 5 枚举的优点 1 联合体类型的声明 联合体&#xff0c;顾名思义&#xff0c;是多个对象连在一起的&#xff0c;即联合体的成员都是共用空间的&#xff0c;所以联合体也叫做共用体&#xf…

Java开发分析工具 JProfiler的详细使用方法解析(附 JProfiler for Mac许可证秘钥)

JProfiler 是一款功能强大的Java代码分析工具&#xff0c;JProfiler的直观UI可帮助您解决性能瓶颈&#xff0c;确定内存泄漏并了解线程问题且JProfiler Mac破解版配置会话非常简单&#xff0c;第三方集成使得入门变得轻而易举&#xff0c;并且以自然的方式呈现数据分析。 解…

万物简单AIoT 端云一体实战案例学习 之 快速开始

学物联网,来万物简单IoT物联网!! 下图是本案的3步导学,每个步骤中实现的功能请参考图中的说明。 1、简介 物联网具有场景多且复杂、链路长且开发门槛高等特点,让很多想学习或正在学习物联网的学生或开发者有点不知所措,甚至直接就放弃了。    万物简单AIoT物联网教育…

72.批量执行Redis命令的4种方式!

文章目录 前言一、Redis命令执行过程二、原生批量命令三、pipeline(管道)四、Lua脚本五、Redis事务六、Redis Cluster模式下该如何正确使用批量命令操作&#xff1f; 前言 在我们的印象中Redis命令好像都是一个个单条进行执行的&#xff0c;但实际上我们是可以批量执行Redis命…

二层交换机和三层交换机

二层交换机&#xff1a;将源mac和端口进行转发&#xff0c;是同一个网段进行通信的&#xff0c;不能实现路由转发&#xff0c;若想跨网段则需要接入一个路由器 如&#xff1a;pc1 192.168.1.1 与 pc2 192.168.1.2通信需要经过二层交换机&#xff0c;二层交换机不能配置ip的&am…

【前端设计】输入框

欢迎来到前端设计专栏&#xff0c;本专栏收藏了一些好看且实用的前端作品&#xff0c;使用简单的html、css语法打造创意有趣的作品&#xff0c;为网站加入更多高级创意的元素。 html <!DOCTYPE html> <html lang"en"> <head><meta charset"…

聊聊PowerJob的UserService

序 本文主要研究一下PowerJob的UserService UserService tech/powerjob/server/core/service/UserService.java Service public class UserService {Resourceprivate UserInfoRepository userInfoRepository;/*** 保存/修改 用户* param userInfoDO user*/public void save…