Kotlinの拡張関数を使って、コレクションから特定の要素を削除する方法を紹介します。このテクニックは、特定の条件に一致する要素を効率的に削除する際に非常に便利です。
以下の例では、リストから指定した要素を削除する拡張関数を実装します。
fun <T> MutableList<T>.removeByCondition(condition: (T) -> Boolean) {
val iterator = this.iterator()
while (iterator.hasNext()) {
val item = iterator.next()
if (condition(item)) {
iterator.remove()
}
}
}
この拡張関数は、MutableList
クラスに対して removeByCondition
メソッドを提供します。このメソッドは、与えられた条件に一致する要素を削除します。
以下のコードでは、この拡張関数を使用してリストから偶数を削除します。
fun main() {
val numbers = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
numbers.removeByCondition { it % 2 == 0 }
println(numbers) // [1, 3, 5, 7, 9]
}
このコードでは、リストから偶数を削除するために removeByCondition
メソッドを使用しています。結果として、リストには奇数だけが残ります。
この方法を使用することで、Kotlinの拡張関数を活用して、コレクション内の要素を効率的に操作することができます。