世界最大級のオンライン学習サービス「Udemy(ユーデミー)」とは?

【Flutter/Dart】Listの要素を削除する|removeAt/removeLast/remove/removeRange/removeWhere/clear

Dart言語でListの要素を削除する方法について解説します。

目次

Listの要素を削除する方法

Listの要素を削除する主なメソッドは次の6つです。

これらのメソッドの使い方についてそれぞれ解説します。

メソッド用途
removeAt指定したインデックス番号の要素を削除
removeLast末尾の要素を削除
remove指定した値の要素を削除
removeRange指定した範囲の要素を削除
removeWhere指定した条件を満たす要素を削除する
clear全ての要素を削除

removeAtメソッド

removeAtメソッドは指定したインデックス番号の要素を削除するメソッドです。

引数には削除する要素のインデックス番号を渡します。

List.removeAt(インデックス番号);
var list = ['a', 'b', 'c', 'd', 'e'];

list.removeAt(1);
print(list);

//結果
//[a, c, d, e]

removeLastメソッド

removeLastメソッドは末尾の要素を削除するメソッドです。

Listには先頭の要素を削除するメソッドがないので、先頭の要素を削除したい場合にはList.removeAt[0]のようにremoveAtメソッドを使用します。

List.removeLast();
var list = ['a', 'b', 'c', 'd', 'e'];

list.removeLast();
print(list);

//結果
//[a, b, c, d]

removeメソッド

removeメソッドは指定した値を削除するメソッドです。

引数には削除したい要素の値を渡します。配列に指定した値がない場合は何も起きず、指定した要素が重複している場合は先頭に近い要素が1つだけ削除されます。

List.remove(値);
var list = ['a', 'b', 'c', 'a', 'b', 'c'];

list.remove('a');
print(list);

//結果
//[b, c, a, b, c]

removeRangeメソッド

removeRangeメソッドは指定した範囲の要素を削除するメソッドです。

startとendにインデックス番号を渡して削除する範囲を指定します。endで指定したインデックス番号の要素は削除されないので注意が必要です。

List.removeRange(start, end);
var list = ['a', 'b', 'c', 'd', 'e'];

list.removeRange(1, 4);
print(list);

//結果
//[a, e]

removeWhereメソッド

removeWhereメソッドは指定した条件を満たす要素を削除するメソッドです。

先頭の要素から順に条件式を満たすか判別していき、条件式を満たす要素を削除します。

List.removeWhere((変数) => 条件式);

次の使用例では配列の要素が2で割り切れる場合に要素を削除しています。

var list = [1, 2, 3, 4, 5, 6];

list.removeWhere((item) => item % 2 == 0);
print(list);

//結果
//[1, 3, 5]

clearメソッド

clearメソッドは全ての要素を削除するメソッドです。

メソッドが実行された後は配列の長さは0になります。

List.clear();
var list = [1, 2, 3, 4, 5, 6];

list.clear();
print(list);

//結果
//[]

FAQ

Listの先頭の要素を削除するにはどうすれば良いですか?

Listには先頭の要素を削除するメソッドがないので代わりにList.removeAt[0]を使用します。

Listから指定した要素を全て削除するにはどうすれば良いですか?

removeメソッドでは要素が重複している場合は先頭に近い要素の1つしか削除できないので、removeWhereメソッドの条件式を使用して削除します。

removeメソッドで要素を削除できたか判別するにはどうすれば良いですか?

removeメソッドの戻り値で判断できます。要素を削除できた場合にはtrueを返します。

まとめ

今回はDartでListの要素を削除する方法について解説しました。

次の記事でListに要素を追加する方法について解説しているのでぜひ一緒にご覧ください。

目次