QHashに新たな要素を追加
解説
insert()はQHashに新たな要素を追加します.キーが重複した場合は上書きされます.
insertMulti()はQHashに新たな要素を追加します.キーが重複した場合は1つのキーに対して複数の値が設定されます.
定義は以下の通りです.
iterator QHash::insert ( const Key & key, const T & value )
iterator QHash::insertMulti ( const Key & key, const T & value )
引数keyにはキーを,引数valueには値を指定します.
value()や
[]は1つのキーに対して複数の値が設定されている場合には最後に追加した値が返されます.
使用例
#include <QTextCodec>
#include <QTextStream>
#include <QHash>
#include <QHashIterator>
int main(int argc, char *argv[]) {
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
QTextStream out(stdout);
QHash<QString, int> hash;
hash.insert("a", 0);
hash.insert("b", 1);
hash.insertMulti ("b", 2);
hash.insertMulti ("b", 3); // hash = {<a, 0>, <b, 1>, <b, 2>, <b, 3>}
QHashIterator<QString, int> it(hash);
while (it.hasNext()) {
it.next();
out << "<" << it.key() << ", " << it.value() << ">, ";
}
out << "\n";
return 0;
}
出力
<a, 0>, <b, 3>, <b, 2>, <b, 1>,
最終更新:2011年09月23日 19:44