Kotlin-在整数的ArrayList中获取最大值

Sus*_*ger 4 java kotlin

我有这个ArrayList

    var amplititudes : ArrayList<Int> = ArrayList()
    amplititudes.add(1)
    amplititudes.add(2)
    amplititudes.add(3)
    amplititudes.add(4)
    amplititudes.add(3)
    amplititudes.add(2)
    amplititudes.add(1)
Run Code Online (Sandbox Code Playgroud)

现在,我想获取最大价值,即4。找到最大元素的最简单方法是什么?我知道max()方法,但是它将强制我使用?返回值,因为它可能为null。有没有比这更好的解决方案了?

s1m*_*nw1 6

您可以使用内置功能:

val amplitudes = listOf(1,2,3,4,3,2,1)
val max = amplitudes.max() ?: 0
Run Code Online (Sandbox Code Playgroud)


Amj*_*reh 6

max() 从 Kotlin 1.4 开始不推荐使用,请使用 maxOrNull()

val list = listOf(10, 2, 33)
val max: Int = list.maxOrNull() ?: 0
Run Code Online (Sandbox Code Playgroud)