什么是更快:
QMap
,通过[]
运营商
QMap<int, QString> qmap;
//add some elements
QString value = qmap[key];
或QList
,键作为类成员:
QList<MyClass*> qlist;
//add some elements
for (int i = 0; i < qlist.length(); ++i)
{
if (qlist[i].key == KEY)
{
MyClass *value = qlist[i];
break;
}
}
答案 0 :(得分:3)
对于足够大的容器,您应该将性能与数据进行基准测试(最重要的是容器的大小),我希望QMap比顺序搜索到矢量更快。
但是一个非常重要的注意事项:使用find从与密钥关联的QMap(或std :: map)中获取元素,因为如果找不到密钥,operator[]会插入一个元素容器。
同样对于大数据,您也可以查看(和基准)QHash。
LE:this文档页面提供了“QContainers”
的一些比较