Если вы пытаетесь найти наибольшее значение end
, вы можете сделать это в одной строке:
val duration: Long =
props.map { it.interval.end }.max() ?: 0L
По сути, это говорит: «Преобразуйте каждый Prop
в его interval.end
значение и примите максимальное значение. Если нет максимального значения, верните 0».
Чтобы расширить это, если бы вы хотели Prop
с самым высоким interval.end
, вы бы написали это так:
val bestProp: Prop? =
props.maxBy { it.interval.end }
Что означает: «Найти Prop
с максимальным значением interval.end
или ноль, если ничего не найдено».