maxByOrNullとminByOrNullを使ってリストの最大・最小要素を取得

Kotlin
記事内に広告が含まれる場合があります

Kotlinでは、リストの中から 特定の条件に基づいて最大・最小の要素を取得 する場合、maxByOrNullminByOrNull を使うと、簡潔に記述できます。

maxByOrNullの基本的な使い方(最大要素の取得)

Kotlin
val numbers = listOf(10, 25, 8, 42, 15)

val maxNumber = numbers.maxByOrNull { it }

println(maxNumber) // 出力: 42

このように、リスト内の 最大値 を簡単に取得できます。


minByOrNullの基本的な使い方(最小要素の取得)

Kotlin
val minNumber = numbers.minByOrNull { it }

println(minNumber) // 出力: 8

リスト内の 最小値 もシンプルに取得可能です。


maxByOrNullとminByOrNullの活用例

1. オブジェクトリストで特定のプロパティの最大・最小を取得

Kotlin
data class User(val name: String, val age: Int)

val users = listOf(
    User("田中", 25),
    User("佐藤", 30),
    User("鈴木", 22)
)

val oldestUser = users.maxByOrNull { it.age }
val youngestUser = users.minByOrNull { it.age }

println(oldestUser)  // 出力: User(name=佐藤, age=30)
println(youngestUser) // 出力: User(name=鈴木, age=22)

オブジェクトリストの 特定のプロパティ に基づいた最大・最小値の取得も簡単です。


2. 文字列リストの最大・最小を取得

Kotlin
val words = listOf("Kotlin", "Java", "Swift", "Python")

val longestWord = words.maxByOrNull { it.length }
val shortestWord = words.minByOrNull { it.length }

println(longestWord)  // 出力: "Kotlin"
println(shortestWord) // 出力: "Java"

文字列リストの 最長・最短の単語を取得 できます。


maxByOrNullとminByOrNullを活用するメリット

  1. リスト内の最大・最小要素を簡潔に取得できる
  2. 特定のプロパティを基準にした比較が可能
  3. リストが空の場合は null を返すため、安全に処理できる

最大・最小値を取得する際は、ぜひ maxByOrNullminByOrNull を活用してみてください!

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