Kotlin-获取Ints的ArrayList中的最大值

Kotlin-获取Ints的ArrayList中的最大值,kotlin,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) var-amplitutes:ArrayList=ArrayList() 加上(1)

我有这个
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)
var-amplitutes:ArrayList=ArrayList()
加上(1)
加上(2)
加上(3)
增编(4)
加上(3)
加上(2)
加上(1)

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

您可以将内置功能与
maxOrNull
()结合使用:

如果要使用默认比较(如
int
s),或者如果要使用自定义
选择器(即算法)来比较值,则可以使用

请注意,两者都返回
int?
(在您的情况下),因为集合可能为空(即不存在最大值)

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


加1,但请提供一个示例(如其他答案中所示)使您的答案完整。
val amplitudes = listOf(1,2,3,4,3,2,1)
val max = amplitudes.maxOrNull() ?: 0
val list = listOf(10, 2, 33)
val max: Int = list.maxOrNull() ?: 0