[Kotlin]リスト(List)の先頭からN個の要素を削除するには?

どうも、ちょげ(@chogetarou)です。

リスト(List)の最初からN個の要素を削除する方法を紹介します。

スポンサーリンク

方法

リスト(List)の先頭からN個の要素を削除するする方法は、2つあります。

drop()

ひとつは、drop()を使う方法です。

まず、リストからdrop()を呼び出します。

そして、drop()の引数に削除する要素数を指定します。

//list=対象のリスト, N=削除する要素数
val result: List<T> = list.drop(N)

上記のdrop()は、リスト(List)の先頭からN個の要素を削除したリストを返します。

使用例

fun main() {
    val nums = listOf(1, 2, 3, 4, 5, 6, 7, 8)
    
    val result: List<Int> = nums.drop(3)
    
    println(result)
}
出力:
[4, 5, 6, 7, 8]

forループ

もうひとつは、forループを使う方法です。

まず、削除する要素数と同じ回数でforループします。

forループの処理でリストからremoveAt()を呼び出します。

そして、removeAt()の引数に「0」を指定します。

//list=対象のリスト, N=削除する要素数
for (i in 1..N) {
    list.removeAt(0)
}

上記のforループは、リスト(List)の先頭からN個(N=ループした回数)の要素を削除します。

removeAt()を使うには、リストがMutableListである必要があります。

https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/remove-at.html

使用例

fun main() {
    val nums = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8)
    
    //先頭から3つの要素を削除
    for (i in 1..3) {
        nums.removeAt(0)
    }
    
    println(nums)
}
出力:
[4, 5, 6, 7, 8]

まとめ

リスト(List)の先頭からN個の要素を削除する方法は、次の2つです。

  • drop()を使う方法
    val result: List<T> = list.drop(N)
  • forループを使う方法
    for (i in 1..N) { list.removeAt(0) }

コメント

タイトルとURLをコピーしました