• 9213阅读
  • 5回复

QMap 的遍历(急!!) [复制链接]

上一主题 下一主题
离线jingping1231
 
只看楼主 倒序阅读 楼主  发表于: 2011-08-10
关键词: 求助QT4QMap
QMap<QString,QString> _nameToValue;
_nameToValue.insert("uu","*");
_nameToValue.insert("11","*");
_nameToValue.insert("hh","*");
_nameToValue.insert ("33","*");//

QString string = "";
QMap<QString,QString>::iterator iter = _nameToValue.begin();
for(;iter!=_nameToValue.end();iter++)
{
  string=string+iter.key()+","+iter.value()+",";
}

最后的输出结果string为:"11,*,33,*,hh,*,uu,*,"
为什么不是"uu,*,11,*,hh,*,33,*," 呢?
离线dbzhang800

只看该作者 1楼 发表于: 2011-08-10
如果你对顺序有要求,就不应该用map。无论是 QMap还是 std::map
离线jdwx

只看该作者 2楼 发表于: 2011-08-10
引用第1楼dbzhang800于2011-08-10 14:52发表的  :
如果你对顺序有要求,就不应该用map。无论是 QMap还是 std::map

map是对键值自动排序的。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线downstairs

只看该作者 3楼 发表于: 2011-09-14
那该用什么?
喜爱编程的猫头鹰
离线ghostyu
只看该作者 4楼 发表于: 2011-11-25
我也遇到这样的问题,QHash是彻底无序的,QMap说的是有序但不是自己插入的顺序,内部按照key自动升序,在两台电脑上这个升序都可能不同
离线wwb1485

只看该作者 5楼 发表于: 2011-11-25
qlist
快速回复
限100 字节
 
上一个 下一个