[Dart]リスト(List)の要素を抽出する方法

Dart

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

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

リストの要素を抽出するにはメソッドを使います。

Listには、要素を取り出すことの出来るメソッドが3つあります。

  • sublistメソッド:指定したインデックスの範囲を取り出す
  • getRangeメソッド : 指定したインデックスの範囲を取り出す
  • takeメソッド:最初から指定の位置までの範囲を取り出す
  • whereメソッド:条件を満たす要素だけを取り出す

この3つのメソッドを使うことによって、要素を抜き出すことが出来ます。

インデックスとは、要素に割り振られる番号のことです。

リストの要素に、左から「0、1、2・・・」と順番に割り振られます。

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はインデックス)のようになっています。

「sublist(start, end)」の範囲は、「start < end」になります。

「end」に指定したインデックスの値は含みません。

また、「end」は省略することが出来、省略した場合は、「start」から全ての要素になります。

getRangeメソッドの使い方

コード, プログラミング, ハッキング, Html, ウェブ, データ

getRangeメソッドは、引数で範囲を指定し、その後に「toList()メソッド」を呼び出します。

  var list = <int>[1, 2, 3, 4, 5];

  var newList = list.getRange(1, 3).toList();

  print(newList);

引数には、スタート位置のインデックスと最後の位置のインデックスを指定します。

getRangeで取得するのはIterable型なので、「toList()」を使用する必要があります。

また、「sublistメソッド」の違いは、引数の「最後の位置のインデックス」を省略できないことです。

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メソッド」の使い方

whereメソッドで作られるのは、「Iterable型」です。

なので、最後にtoList()を呼び出す必要があります。

スポンサーリンク

まとめ

リストの要素を抽出するには、次の4つのメソッドを使います。

  • sublistメソッド
  • getRangeメソッド
  • takeメソッド
  • whereメソッド
スポンサーリンク

オススメの記事

[Dart]リスト(List)の「whereメソッド」の使い方

[Dart]リスト(List)を並び替える方法

[Dart]List(リスト)に要素を追加する方法

[Dart]リストを比較する方法

コメント

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