Kotlinでリストの要素を削除する方法について記載します。
目次
リストの要素を削除する
1. 指定した値を持つ要素を削除する
指定した値を削除するには、-= もしくは remove関数を使用します。
大きな違いは、remove関数は戻り値として、要素を削除した場合は true、削除対象が存在しない場合は、false を返します。
書式
リスト変数 -= 削除したい値
リスト変数.remove( 削除したい値 )
実行例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
val mList = mutableListOf("a","b","c") // [a, b, c] mList -= "a" // [b, c] var ret = mList.remove("b") // mList : [c] // ret : true ret = mList.remove("1") // mList : [c] // ret : false |
2. 複数の指定した値を持つ要素を削除する
先ほどは、1つの値を指定しましたが、複数の値を指定して、該当の値をもつ要素を削除することもできます。
複数の値を指定して削除するには、-= もしくは removeAll関数を使用します。
removeAll関数は、先ほどのremove関数と同様に戻り値を返します。
書式
リスト変数 -= listOf( 削除したい値をカンマ区切りで指定 )
リスト変数.removeAll( listOf( 削除したい値をカンマ区切りで指定 ) )
実行例
1 2 3 4 5 6 7 8 9 10 11 12 |
val mList1 = mutableListOf("a","b","c") mList1 -= listOf("a","c") // [b] val mList2 = mutableListOf("a","b","c") var ret = mList2.removeAll( listOf("a","c") ) // mList2 : [b] // ret : true ret = mList2.removeAll( listOf("e","f") ) // mList2 : [b] // ret : false |
3. 指定した値を含む要素を削除する
1 と 2 の例では、指定した値に完全一致した要素が削除されましたが、次のようにすると”含む” という条件で削除することができます。
書式
リスト変数.removeIf {it.contains( 削除したい値 )}
実行例
1 2 3 4 |
val mList = mutableListOf("ab","bc","bcd") val ret = mList.removeIf {it.contains("c")} // mList : [ab] // ret : true |
4. インデックスを指定して削除する
削除したい要素のインデックスを直接指定して削除することもできます。
インデックスを指定して削除するには、removeAt関数 を使用します。
removeAt関数では、戻り値として削除した要素の値が返されます。
書式
リスト変数.removeAt( インデックス )
実行例
1 2 3 4 |
val mList = mutableListOf("a","b","c") val ret = mList.removeAt(1) mList : [a, c] ret : b |
5. すべての要素を削除する
リスト内の全要素を削除するには、clear関数を使用します。
書式
リスト変数.clear()
実行例
1 2 3 |
val mList = mutableListOf("a","b","c") mList.clear() // [] |