QVector类是一个提供动态数组的模板类,是Qt对所有数组的封装。
之前我们定义一个int型的数组,我们会写int array[10],现在在Qt里我们可以定义成QVector< int > array(10)。
QVector< T >是Qt的一个容器类。 它将项存储在相邻的内存位置,并提供基于索引的快速访问。
QVector可以像之前的方式用array[5]=4赋值、array[5]获取值。不同的是,QVector可以通过count()函数获知该数组中有多少个元素,通过append()函数或者<< 操作符来在数组最后端添加元素而不用担心溢出问题。以下为QVector类几个常用接口功能函数,具体可查Qt帮助文档QVector部分:
需要包含头文件:
#include<QVector>
末端添加元素:
QVector<int> Array;
Array<<3; //第一种方式
Array.append(5); //第二种方式
获取多少元素
Array.count()
遍历元素
//第一种方式
QVector<int>::iterator num;
for (num=Array.begin(); num!=Array.end(); num++)
{
qDebug()<< *num;
}
//第二种方式
for (int i=0; i<Array.count(); i++)
{
qDebug()<< Array[i];
}
删除元素
Array.remove(0); //删除第0个元素,从0开始
Array.remove(1,2); //从第1个元素开始,删除2个元素
Array.replace(2,11); //用11替换第2个元素,从0开始
判断是否包含某元素
qDebug()<< Array.contains(12);