我有这个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.有比这更好的解决方案吗?

推荐答案

You can use built-in functionality with maxOrNull (docs):

val amplitudes = listOf(1,2,3,4,3,2,1)
val max = amplitudes.maxOrNull() ?: 0

Kotlin相关问答推荐

文本正在被切断在200%的屏幕比例在Jetpack Compose

Android Jetpack编写androidx.compose.oundation.lazy.grid.Items

在Kotlin项目中使用Free Fair AspectJ插件(使用Gradle)

Kotlin stlib中是否有用于将列表<;对<;A,B&>;转换为对<;列表<;A&>,列表<;B&>;的函数

为什么 <= 可以应用于 Int 和 Long,而 == 不能?

jlink:在合并模块和 kotlin.stdlib 中打包 kotlin.*

将 Integer 转换为 Unit 编译成功

为什么 KFunction2 在 Kotlin 中不是可表示类型?

parallelStream()和asSequence().asStream().parallel()之间的区别

Kotlin 枚举中的循环引用

将 Android Studio 升级到 3.1.0 后的 Android Support 插件错误

Kotlin get字段注释始终为空

Kotlin JVM 和 Kotlin Native 有什么区别?

如何将命令行参数传递给Gradle Kotlin DSL

禁用 IntelliJ kotlin * 导入?

Kotlin协程无法处理异常

Kotlin - 是否可以在类中的 init 块之前初始化伴随对象?

Kotlin:使用自定义设置器时没有lateinit的解决方法?

kotlin中密封类和密封接口的区别是什么

访问Kotlin中的属性委托