QList、QVector、QMap容器类

博客介绍了QList、QVector、QMap容器类。QList可存储QString类型值,有多种操作函数;QVector用法与QList基本相同,但存取方式有别,添加元素时容量不足会重新分配内存;QMap可通过重载符或insert方法插入元素,还能使用迭代器遍历。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QList、QVector、QMap容器类

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"]

  1. 函数QList::append(const QList<T>&value)在列表末尾插入一个列表
  2. 函数QList::at(int i)返回列表中第i+1个元素,list.at(0)为第一个元素
  3. 函数QList::back()返回列表中的最后一个元素
  4. 函数QList::push_back(const T &value)把指定元素插入到列表末尾
  5. 函数QList::pop_back()把最后一个元素从列表中删除
  6. 函数QList::begin()返回STL样式迭代器指向列表中的第一个元素(简单来说就是第一个元素的指针)
  7. 函数QList::end()返回列表中的最后一个元素的后一个元素指针(iterator类型指针)
  8. 函数QList::rbegin()返回列表中的最后一个元素指针
  9. 函数QList::clear()移除列表所有元素
  10. 函数QList::contains(const T &value)判断列表中是否包含指定元素
  11. 函数QList::count()返回列表中元素的个数
  12. 函数QList::count(const T &value)返回列表中指定元素的个数
  13. 函数QList::empty()如果列表元素为空则返回true
  14. 函数QList::endsWith(const T &value)判断指定元素是否是最后一个元素
  15. 函数QList::erase(iterator pos)移除指定元素
  16. 函数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;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值