本エントリではList
型データの操作(追加、削除、フィルター...)について説明する。
Listとは
List
はIterable
を継承したクラスで、複数の要素を格納できる順序ありのデータ型。
説明用データ
本エントリではList
について以下の_numbers
を例に要素を追加、削除する方法を説明する。
追加
add()
add()
の引数に指定した要素を末尾に追加する。
addAll()
addAll()
の引数に指定したIterable
クラスの要素を末尾に追加する。
具体的にはList
やMap
、Set
クラスのデータ。
fillRange()
fillRange()
は指定したインデックスに複数の要素を挿入できる。
第一引数に開始インデックス、第二引数に終了インデックス、第三引数に挿入したい要素を指定する。
insert()
insert
は指定の位置に要素を挿入できる。
第一引数に挿入するインデックス、第二引数に挿入したい要素を指定する。
insertAll()
insertAll()
は指定の位置にIterable
クラスの要素を挿入する。
第一引数に挿入するインデックス、第二引数に挿入するIterable
型の要素を指定する。
削除
clear()
clear()
は要素を全て削除する。
remove()
remove()
は引数に指定した要素を削除する。
複数個同じ要素がリストに存在する場合、その中の先頭の要素が削除される。
またリストに含まれていない要素を引数に指定した場合、何も削除されない。
removeAt()
removeAt()
は指定したインデックスの要素を削除する。
引数にはインデックスを指定する。
removeLast()
removeLast()
はリストの末尾の要素を削除する。
removeRange()
``removeRange```はリストから複数の要素を削除できる。 第一引数で削除したい範囲の開始インデックス、第二引数で終了インデックスを指定する。
removeWhere()
removeWhere()
は条件を指定して要素を削除できる。
引数にはコールバック関数を渡す。コールバック関数の引数にはインデックスが渡され、戻り値がtrue
になる要素を削除する。
上記のコードではインデックスが偶数の要素が削除される。
フィルター
where()
where()
は特定の条件を満たした要素のみを含むIterable
型データを生成する。
引数に条件式となるコールバック関数を渡す。
この時コールバック関数の戻り値はbool
型にする必要がある。
そして戻り値がtrue
になる要素のみが残る。
上記のコードの場合、
element % 3 == 0
がtrue
となる要素のみが残るIterable
データが生成される。
その後toList()
でList
型のデータを生成している。