QList、QVector、QMap容器类
QList<QString> list;创建一个列表对象,存储一列QString类型的值list<<str<<str1<<str2通过操作符 "<<" 将字符串存储在该列表中函数QList::append(const T&v
QList<QString> list;创建一个列表对象,存储一列QString类型的值
list<<str<<str1<<str2通过操作符 "<<" 将字符串存储在该列表中
函数QList::append(const T&value)在列表末尾插入值
QList<QString> list;
list.append("one");
list.append("two");
list.append("three");
// list: ["one", "two", "three"]
函数QList::append(const QList<T>&value)在列表末尾插入一个列表
函数QList::at(int i)返回列表中第i+1个元素,list.at(0)为第一个元素
函数QList::back()返回列表中的最后一个元素
函数QList::push_back(const T &value)把指定元素插入到列表末尾
函数QList::pop_back()把最后一个元素从列表中删除
函数QList::begin()返回STL样式迭代器指向列表中的第一个元素(简单来说就是第一个元素的指针)
函数QList::end()返回列表中的最后一个元素的后一个元素指针(iterator类型指针)
函数QList::rbegin()返回列表中的最后一个元素指针
函数QList::clear()移除列表所有元素
函数QList::contains(const T &value)判断列表中是否包含指定元素
函数QList::count()返回列表中元素的个数
函数QList::count(const T &value)返回列表中指定元素的个数
函数QList::empty()如果列表元素为空则返回true
函数QList::endsWith(const T &value)判断指定元素是否是最后一个元素
函数QList::erase(iterator pos)移除指定元素
函数QList::mid(int pos, int length = -1)返回一个子list列表,如果length = -1则子list包含父list从索引位置到末尾的所有元素,否则子list包含父list从索引位置数起,lenght个元素
QVector用法基本和QList用法相同
区别:一个是随机存取,一个是连续存取,所以list插入删除很快,vector查询很快。
但是vector有个地方一定要注意:
vector:如果你添加元素,但是vector的容量(是容量,不是大小,容量比大小大,会预先多分配空间)不够的话,系统就会重新分配一段内存,然后把原先的内容全部拷贝过去,然后删除原先的内容。所以,如果你设定了一个纸箱vector的指针,或者说迭代器,在你添加元素之后,这个指针(迭代器)需要重新计算
QMap<Key &key, const T &value>
示例:
QMap<QString, int> map;
map["one"] = 1;//使用重载符[]往map列表插入一个元素
key = "one",value = 1;
map.insert("twelve", 12);//往map列表插入一个元素
//创建一个关联map的迭代器,遍历map列表元素
QMapIterator<QString,int> i(map);
while (i.hasNext()) {
i.next();
qDebug<< i.key() << ": " << i.value() << endl;
}
更多推荐
所有评论(0)