我有这个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)
现在我想获得最大值,即4.找到最大元素的最简单方法是什么?我知道max()方法,但它会强制我使用带有返回值的?
,因为它可能为null。有没有比这更好的解决方案?
答案 0 :(得分:4)
您可以使用内置功能:
val amplitudes = listOf(1,2,3,4,3,2,1)
val max = amplitudes.max() ?: 0
答案 1 :(得分:4)
max()
从Kotlin 1.4开始不推荐使用,请使用maxOrNull()
val list = listOf(10, 2, 33)
val max: Int = list.maxOrNull() ?: 0
答案 2 :(得分:2)
如果您想使用默认比较(例如int
s),则可以使用max()
,如果您想使用自定义{maxBy
,则可以reference document shows使用http://registry.npmjs.org/ 1}}(即算法)来比较值。
请注意,两者都返回selector
(在您的情况下),因为集合可能为空(即,没有最大值)