[Kotlin]List(リスト)の最小値を取得するには?

Kotlin

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

リスト(List)の最小値を取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

リスト(List)の最小値を取得する方法は、3つあります。

min()

1つ目は、min()関数を使う方法です。

具体的な方法としては、list.min()のように、リストからmin()関数を呼び出します。

val result = list.min()

上記のmin()関数は、呼び出したリストの最小値を取得します。

呼び出したリストが空の場合は、エラーが発生します。

使用例

fun main() {
    val list : List<Int> = listOf<Int>(3, 19, 0, 39, 10)
    
    val result = list.min()
    
    println(result)
}
出力:
0

minOrNull()

2つ目は、minOrNull()関数を使う方法です。

具体的には、list.minOrNull()のように、リストからminOrNull()関数を呼び出します。

val result = list.minOrNull()

上記のminOrNull()関数は、呼び出したリストの最小値を取得します。

もし、呼び出したリストが空の場合は、Nullを返します。

呼び出したリストが空の場合にデフォルト値を返したいならば、エルビス演算子を使います。

//リストが空の場合は、valueを返す
val result = empty.minOrNull() ?: value

使用例

fun main() {
    val list : List<Int> = listOf<Int>(3, 19, 0, 39, 10)
    val empty : List<Int> = listOf<Int>()
    
    val result = list.minOrNull()
    val result2 = empty.minOrNull() ?: -1
    
    println(result)
    println(result2)
}
出力:
0
-1

minOf()

3つ目は、minOf()関数を使う方法です。

まず、リストからminOf {}を呼び出します。

そして、minOf{}の{}内にitを記述します。

val result = list.minOf { it }

上記のminOf()は、呼び出したリストの最小値を取得します。

また、minOf()は、リストの要素のプロパティから最小値を取得できます。

//prop=要素のプロパティ
val result = list.minOf { it.prop }

minOf{}のitは、リストの要素です。

使用例

data class Person(val name: String, val age: Int)

fun main() {
    val list = listOf(8, 2, 10, 4, 7)
    val list2 = listOf(Person("Taro", 11), Person("Satoru", 37), Person("Misuzu", 17))
    
    val result = list.minOf { it }
    val result2 = list2.minOf { it.age }
    
    println(result)
    println(result2)
}
出力:
2
11

まとめ

リストの最小値を取得する方法は、次の3つです。

  • min()を使う方法
    val result = list.min()
  • minOrNull()を使う方法
    val result = list.minOrNull()
  • minOf()を使う方法
    val result = list.minOf { it }

コメント

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