kotlin Listを範囲を指定して要素を抽出する

kotlin Listを範囲を指定して要素を抽出する

kotlinで、Listを範囲を指定して要素を抽出する手順を記述してます。対象のリストに「subList」で範囲を指定します。

環境

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

手順

kotlin、Listを範囲を指定して要素を抽出するには、「subList」で可能です。

List名.subList(開始位置、終了位置)

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

fun main() {

    var list = listOf("aaa", "bbb", "ccc", "ddd", "eee")
    
    println(list.subList(0, 3)) // [aaa, bbb, ccc]
    println(list.subList(1, 3)) // [bbb, ccc]
    println(list.subList(2, 5)) // [ccc, ddd, eee]

}

listIteratorに変換されていることが確認できます。

範囲を超えると、エラーとなります。

fun main() {

    var list = listOf("aaa", "bbb", "ccc", "ddd", "eee")
    
    println(list.subList(2, 6)) 
    // Exception in thread "main" java.lang.IndexOutOfBoundsException: toIndex = 6

}

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

fun main() {

    var list = mutableListOf("aaa", "bbb", "ccc", "ddd", "eee")
    
    println(list.subList(0, 3)) // [aaa, bbb, ccc]
    println(list.subList(1, 3)) // [bbb, ccc]

}