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