QHash > insert

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つのキーに対して複数の値が設定されている場合には最後に追加した値が返されます.

使用例

  1. #include <QTextCodec>
  2. #include <QTextStream>
  3. #include <QHash>
  4. #include <QHashIterator>
  5.  
  6. int main(int argc, char *argv[]) {
  7. QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
  8. QTextStream out(stdout);
  9.  
  10. QHash<QString, int> hash;
  11. hash.insert("a", 0);
  12. hash.insert("b", 1);
  13. hash.insertMulti ("b", 2);
  14. hash.insertMulti ("b", 3); // hash = {<a, 0>, <b, 1>, <b, 2>, <b, 3>}
  15.  
  16. QHashIterator<QString, int> it(hash);
  17. while (it.hasNext()) {
  18. it.next();
  19. out << "<" << it.key() << ", " << it.value() << ">, ";
  20. }
  21. out << "\n";
  22.  
  23. return 0;
  24. }

出力
<a, 0>, <b, 3>, <b, 2>, <b, 1>,
最終更新:2011年09月23日 19:44
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。