QList > indexOf

指定した要素を前方・後方検索

解説

indexOf()はQListから指定した値を先頭から検索し,その位置を返します.
lastIndexOf()はQListから指定した値を末尾から検索し,その位置を返します.

定義は以下の通りです.
int QList::indexOf ( const T & value, int from = 0 ) const
int QList::lastIndexOf ( const T & value, int from = -1 ) const
引数valueには検索対象の値を指定します.引数fromには検索を開始する位置を指定します.QVectorの要素が(a,b,c,d,e,f)という並びだとすると,fromを0に指定した場合はaから検索を始めます.1に指定した場合はbから検索を始めます.-1を指定した場合はfから検索を始めます.-2を指定した場合はeから検索を始めます.詳しくは下記の使用例を参考にしてください.
見つからなかった場合は-1を返します.

使用例

  1. #include <QTextCodec>
  2. #include <QTextStream>
  3. #include <QList>
  4. int main(int argc, char *argv[]) {
  5. QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
  6. QTextStream out(stdout);
  7.  
  8. QList<QString> lst;
  9. lst << "a" << "b" << "c" << "b" << "a";
  10. // index:( 0, 1, 2, 3, 4)
  11. // index:(-5,-4,-3,-2,-1)
  12. // value:( a, b, c, b, a)
  13.  
  14. out << lst.indexOf("a") << "\n"; // 0
  15. out << lst.indexOf("a", 1) << "\n"; // 4
  16. out << lst.indexOf("a", -4) << "\n"; // 4
  17. out << lst.lastIndexOf("a", 1) << "\n"; // 0
  18. out << lst.lastIndexOf("a", -1) << "\n"; // 4
  19. out << lst.lastIndexOf("a", -5) << "\n"; // 0
  20. out << lst.lastIndexOf("x", -1) << "\n";// -1
  21. return 0;
  22. }

出力
0
4
4
0
4
0
-1
最終更新:2011年09月18日 19:21
ツールボックス

下から選んでください:

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