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
まとめ
今回はDartでListの要素を削除する方法について解説しました。
次の記事でListに要素を追加する方法について解説しているのでぜひ一緒にご覧ください。
【Flutter/Dart】Listに要素を追加する|add/addAll/insert/insertAll
DartでListに要素を追加する主な方法にはadd()、addAll()、insert()、insertAll()の4つのメソッドがあります。