gpt4 book ai didi

kotlin - 将号码分为不同的范围

转载 作者:行者123 更新时间:2023-12-02 13:17:50 24 4
gpt4 key购买 nike

我是Kotlin的新手,正在尝试解决一些问题。
我有一个包含以下对象的列表:

data class Route(duration: Int)

我想创建一个 map ,将根据持续时间的范围对这些行程进行分组(例如,0-9是单组,10-19是下一组,20-29,依此类推...)

例如,此列表的结果:
listOf(Route(5), Route(7), Route(31))

应为以下 map :
0..9 to listOf(Route(5), Route(7))
30..39 to listOf(Route(31))

我搜索了一下,发现可以将范围放入 groupBy中-但是,这是一个const范围。如何按不同范围分组?

最佳答案

您可以使用groupBy函数执行此操作。

fun createRangeOfTen(number: Int): IntRange {
val trunc = number / 10
val lowerBound = trunc * 10
val upperBound = lowerBound + 9

return lowerBound..upperBound
}

val list = listOf(
Route(5), Route(7), Route(31)
)
val map = list.groupBy({ createRangeOfTen(it.duration) }, { it })
println(map)
// {0..9=[Route(duration=5), Route(duration=7)], 30..39=[Route(duration=31)]}

关于kotlin - 将号码分为不同的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61693400/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com