Kotlin - получить максимальное значение в ArrayList of Ints - PullRequest
0 голосов
/ 29 мая 2018

У меня есть этот 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 (), но он заставит меня использовать ? с возвращаемым значением, поскольку оно может быть нулевым.Есть ли решение, которое лучше, чем это?

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Вы можете использовать max(), если хотите использовать сравнение по умолчанию (как в вашем случае с int с), или maxBy, если хотитеиспользовать пользовательский selector (т. е. алгоритм) для сравнения значений.

Обратите внимание, что оба возвращают int? (в вашем случае), поскольку коллекция может быть пустой (т. е. максимальное значение отсутствует)

0 голосов
/ 29 мая 2018

Вы можете использовать встроенную функциональность:

val amplitudes = listOf(1,2,3,4,3,2,1)
val max = amplitudes.max() ?: 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...