リスト(List)の要素を抽出する方法を解説します。
方法

リストの要素を抽出するにはメソッドを使います。
Listには、要素を取り出すことの出来るメソッドが3つあります。
- sublistメソッド:指定したインデックスの範囲を取り出す
- getRangeメソッド : 指定したインデックスの範囲を取り出す
- takeメソッド:最初から指定の位置までの範囲を取り出す
- whereメソッド:条件を満たす要素だけを取り出す
この3つのメソッドを使うことによって、要素を抜き出すことが出来ます。
sublistメソッドの使い方

sublistメソッドは、引数に範囲を指定することで使用できます。
var list = <int>[1, 2, 3, 4, 5];
//1から4までの範囲を抽出
var newList = list.sublist(1, 4);
print(newList);

「sublist」の書式は、「sublist(start, end)」(startとendはインデックス)のようになっています。
getRangeメソッドの使い方

getRangeメソッドは、引数で範囲を指定し、その後に「toList()メソッド」を呼び出します。
var list = <int>[1, 2, 3, 4, 5];
var newList = list.getRange(1, 3).toList();
print(newList);

引数には、スタート位置のインデックスと最後の位置のインデックスを指定します。
takeメソッドの使い方

「takeメソッド」は、最初の要素から指定した位置までの要素を抜き出すメソッドです。
引数では、終わりの位置のインデックスを指定します。
var list = <int>[1, 2, 3, 4, 5];
var newList = list.take(3).toList();
print(newList);

最後の位置の値は含まないのに気をつけてください。
whereメソッドの使い方

「whereメソッド」は、いわゆるフィルター処理と呼ばれるものです。
このメソッドは、引数で条件を指定し、条件を満たすものだけを取り出します。
var list = <int>[1, 2, 3, 4, 5];
var newList = list.where((int value) => value > 3).toList();
print(newList);

引数の条件は、「(型引数名) => 条件式」のように記述します。
リストから取り出した要素を引数に格納し、その引数を使った条件式を記述します。
そして、条件式が「true」となる要素だけが新しいリストの要素となります。
[Dart]リスト(List)の「whereメソッド」の使い方
まとめ
リストの要素を抽出するには、次の4つのメソッドを使います。
- sublistメソッド
- getRangeメソッド
- takeメソッド
- whereメソッド
コメント