どうも、ちょげ(@chogetarou)です。
配列(Array)の最大値を取得する方法を紹介します。
方法

配列(Array)の最大値を取得する方法は、3つあります。
max()
1つ目は、max()関数を使う方法です。
具体的な方法としては、array.max()
のように、配列からmax()関数を呼び出します。
val result = array.max()
上記のmax()関数は、呼び出した配列の最大値を取得します。
使用例
fun main() {
val array : IntArray = intArrayOf(3, 19, 0, 39, 10)
val result = array.max()
println(result)
}
出力:
39
maxOrNull()
2つ目は、maxOrNull()関数を使う方法です。
具体的には、maxOrNull()関数を呼び出します。
val result = array.maxOrNull()
上記のmaxOrNull()関数は、呼び出した配列の最大値を取得します。
もし、呼び出した配列が空の場合は、Nullを返します。
呼び出した配列が空の場合にデフォルト値を返したいならば、エルビス演算子を使います。
//配列が空の場合は、valueを返す
val result = empty.maxOrNull() ?: value
使用例
fun main() {
val array : IntArray = intArrayOf(3, 19, 0, 39, 10)
val empty : IntArray = intArrayOf()
val result = array.maxOrNull()
val result2 = empty.maxOrNull() ?: 0
println(result)
println(result2)
}
出力:
39
0
maxOf()
3つ目は、maxOf()関数を使う方法です。
まず、配列からmaxOf {}を呼び出します。
そして、maxOf{}の{}内にitを記述します。
val result = array.maxOf { it }
上記のmaxOf()は、呼び出した配列の最大値を取得します。
また、maxOf()は、配列の要素のプロパティから最大値を取得できます。
//prop=要素のプロパティ
val result = array.maxOf { it.prop }
使用例
data class Person(val name: String, val age: Int)
fun main() {
val array = arrayOf(8, 2, 10, 4, 7)
val array2 = arrayOf(Person("Taro", 11), Person("Satoru", 37), Person("Misuzu", 17))
val result = array.maxOf { it }
val result2 = array2.maxOf { it.age }
println(result)
println(result2)
}
出力:
10
37
まとめ
配列(Array)の最大値を取得する方法は、次の3つです。
- max()を使う方法
val result = array.max()
- maxOrNull()を使う方法
val result = array.maxOrNull()
- maxOf()を使う方法
val result = array.maxOf { it }
コメント