QHash - 获取随机密钥和值的热点

时间:2012-10-27 17:37:35

标签: c++ qt iterator random-access qhash

我希望从我的QHash中获得一个数字n的随机对。

现在我这样做:

QHash<QString,QString>::iterator iterator = dictionary.begin();
iterator+= n;
question->setText(iterator.key());

但这看起来很荒谬......必须有一种正常的方式。你能帮我吗?我已经阅读了QHash的整个人工页面

1 个答案:

答案 0 :(得分:1)

QHash不提供随机选择。如果必须经常执行此操作,则将哈希表的keys()复制(指向)到vectorQVector,获取随机索引并使用密钥在QHash中查找值。

根据您使用QHash的其他内容,您可能希望在某些时候将其转换为对的向量,并将其用于随机选择。