kotlin Listで要素の先頭のみを取得する

kotlin Listで要素の先頭のみを取得する

kotlinで、Listで要素の先頭のみを取得する手順を記述してます。「first」で可能です。条件を指定して戦闘の値を取得することもできます。

環境

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

手順

Listで要素の先頭のみを取得するには、「first」で可能です。

List名.first()

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

fun main() {

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

    println(list.first()) // 10

    println(list) // [10, 20, 30, 40, 50, 60]

}

要素の先頭のみが取得されていることが確認できます。

以下のように条件を指定することも可能です。

fun main() {

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

    println(list.first { it > 25 }) // 30    

    println(list) // [10, 20, 30, 40, 50, 60]

}

ただし条件を満たす要素がないとエラーが発生します。

fun main() {

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

    println(list.first { it > 60 }) 
    // Exception in thread "main" java.util.NoSuchElementException

    println(list) // [10, 20, 30, 40, 50, 60]

}

「firstOrNull」を使用すると、条件を満たさない場合は「null」を返すことが可能です。

fun main() {

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

    println(list.firstOrNull { it > 60 }) // null

    println(list) // [10, 20, 30, 40, 50, 60]

}

mutableList

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

fun main() {

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

    println(list.first { it > 25 }) // 30    

    println(list) // [10, 20, 30, 40, 50, 60]

}