kotlin Listの要素を指定した範囲で取得する

kotlin Listの要素を指定した範囲で取得する

kotlinで、Listの要素を指定した範囲で取得する手順を記述してます。「slice」にインデックス番号で範囲を指定することで可能です。kotlinは1.7を使用しています。

環境

  • OS windows11 home
  • java 19.0.1
  • kotlin 1.7.20-release-201

手順

Listの要素を指定した範囲で取得するには、「slice」で可能です。

List名.slice { インデックス番号..インデックス番号 }

実際に、使用してみます。

fun main() {

    val list = listOf(10, 20, 30, 40, 50, 60)

    println(list.slice(1..2))
    // [20, 30]

    println(list.slice(3..5))
    // [40, 50, 60]

}

指定した範囲で取得されていることが確認できます。

数値を逆にすると何も取得できなく、マイナスを指定するとExceptionが発生します。

fun main() {

    val list = listOf(10, 20, 30, 40, 50, 60)

    println(list.slice(5..3))
    // []

    println(list.slice(-5..-3))
    // Exception in thread "main" java.lang.IndexOutOfBoundsException: fromIndex = -5

}

mutableList

「mutableList」にも使用可能です。

fun main() {

    val list = mutableListOf(10, 20, 30, 40, 50, 60)

    println(list.slice(1..2))
    // [20, 30]

    println(list.slice(3..5))
    // [40, 50, 60]

}