QMapIterator Class
来源:互联网 发布:iphone4s有4g网络吗 编辑:程序博客网 时间:2024/06/05 00:51
QMapIterator
类为QMap
和QMultiMap
提供了一个java样式的const迭代器。 QMap
有java风格的迭代器和STL样式的迭代器两种。与STL样式的迭代器相比,java风格的迭代器更高级,更容易使用;另一方面,他们的效率稍微低一些
QMapIterator< Key,t>
迭代器允许你遍历QMap
对象(或QMultiMap
对象)。如果您想在迭代过程中修改对象,则使用QMutableMapIterator //The QMutableMapIterator class provides a Java-style non-const iterator for QMap and QMultiMap.。
QMapIterator
构造函数采用QMap
作为参数。在构建之后,迭代器位于map的最开始部分(在第一个项之前)。
QMap<int,QWidget*>map;...QMapIterator<int,QWidget*> i(map);while(i.hasNext()){ i.next(); qDebug() << i.key() << ":" << i.value(); }
Item QMapIterator::next() //返回下一个项,将迭代器推进到下一个位置。bool QMapIterator::hasNext() const //如果在迭代器后面至少存在一个项,则返回ture。否则返回false
与STL样式的迭代器不同,java风格的迭代器指向项而不是直接指向项。第一次调用next()将迭代器推进到第一和第二项之间的位置,并返回第一个项;第二次调用next()将迭代器推进到第二和第三项之间的位置;一直下去
如何按照相反的顺序迭代元素:
QMapIterator<int,QWidget*> i(map);i.toBack(); while (i.hasPrevious()) { i.previous(); qDebug() << i.key() << ": " << i.value(); }
如果您想查找某个特定值的所有出现,使用函数 findNext()
或findPrevious()
。例如:
QMapIterator<int, QWidget *> i(map); while (i.findNext(widget)) { qDebug() << "Found widget " << widget << " under key " << i.key(); }
阅读全文
0 0
- QMapIterator Class
- QMapIterator遍历QMap
- class
- class
- class
- class
- class
- class
- Class
- Class
- class
- Class
- Class<?>
- class
- Class
- Class<?>
- Class
- @class
- IoC容器系列的设计与实现:BeanFactory和ApplicationContext
- 51talk-0 experience class
- 11.2号笔记和练习
- 第八周项目四 稀疏矩阵的三元组表示的实现与应用(1)
- tcp_tw_recycle和tcp_timestamps导致connect失败问题
- QMapIterator Class
- 计算1+3+5+7+...+99+101的值。
- 莫队算法详解
- 周志华《Machine Learning》学习笔记(2)--性能度量
- 移动端实现1px边框
- MyBatis读书学习笔记(一)——配置
- NOIP2017赛前经验总结
- Aop
- java核心库——IO(一)