指定した要素を前方・後方検索
解説
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を返します.
使用例
#include <QTextCodec>
#include <QTextStream>
#include <QList>
int main(int argc, char *argv[]) {
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
QTextStream out(stdout);
QList<QString> lst;
lst << "a" << "b" << "c" << "b" << "a";
// index:( 0, 1, 2, 3, 4)
// index:(-5,-4,-3,-2,-1)
// value:( a, b, c, b, a)
out << lst.indexOf("a") << "\n"; // 0
out << lst.indexOf("a", 1) << "\n"; // 4
out << lst.indexOf("a", -4) << "\n"; // 4
out << lst.lastIndexOf("a", 1) << "\n"; // 0
out << lst.lastIndexOf("a", -1) << "\n"; // 4
out << lst.lastIndexOf("a", -5) << "\n"; // 0
out << lst.lastIndexOf("x", -1) << "\n";// -1
return 0;
}
出力
0
4
4
0
4
0
-1
最終更新:2011年09月18日 19:21