Dart ListクラスlastIndexWhere()メソッド

Dar言語StreamクラスtoSet()メソッドDart

Dart ListクラスのlastIndexWhere()メソッドについてメモ書き。

lastIndexWhere()メソッドは第1引数で指定した条件を満たす値を配列末尾から検索し、初めに見つかったインデックス位置を返す。第2引数で検索を開始するインデックス位置を指定できる。第2引数はオプション引数で、省略した場合は末尾から検索する。要素が存在しない場合は”-1″を返す。

コーディングでlastIndexWhere()メソッドを確認。

void main() {
  try {
    final listTest = <String>[
      "Apple",
      "Orange",
      "Banana",
      "grape",
      "Banana",
    ];
    final last =
        listTest.lastIndexWhere((element) => element.startsWith("Ban"));
    print(last);
  } catch (e) {
    print(e.toString());
  }
}

実行結果。
末尾から検索し初めに見つかった文字列先頭が”Ban”のインデックス位置を返している。

4

次は第2引数でインデックス位置”3″を指定して実行。

void main() {
  try {
    final listTest = <String>[
      "Apple",
      "Orange",
      "Banana",
      "grape",
      "Banana",
    ];
    final last =
        listTest.lastIndexWhere((element) => element.startsWith("Ban"), 3);
    print(last);
  } catch (e) {
    print(e.toString());
  }
}

実行結果。
検索開始位置がインデックス3で、0に向かって検索するのでインデックス位置”2″を返す。

2

最後は存在しない値を指定。

void main() {
  try {
    final listTest = <String>[
      "Apple",
      "Orange",
      "Banana",
      "grape",
      "Banana",
    ];
    final last =
        listTest.lastIndexWhere((element) => element.startsWith("ban"));
    print(last);
  } catch (e) {
    print(e.toString());
  }
}

実行結果。
該当する要素が存在しないため”-1″を返す。

-1

コメント

タイトルとURLをコピーしました