Hashmap действительно не поможет вам, так как вы не можете искать по ключу.Вместо этого используйте List и найдите диапазон, который вы ищете:
val durationFromAngel = listOf(
1F..4F to 15L,
5F..9F to 150L,
10F..14F to 300L,
15F..29F to 700L
)
val (_, result) = durationFromAngel.find { (range) -> 6F in range }!!
println(result)
Конечно, вы также можете добавить функцию расширения как:
operator fun <N: Comparable<N>, T> List<Pair<ClosedFloatingPointRange<N>, T>>.get(value: N) =
this.find { (range) -> value in range }!!
val (range, value) = durationFromAngel[6f]
println(value)
, но это просто синтаксический сахар.
Попробуйте!