Kotlin 移动嵌套列表中的项目,如果需要,是否溢出到父列表的上一个/下一个索引?

Kotlin 移动嵌套列表中的项目,如果需要,是否溢出到父列表的上一个/下一个索引?,kotlin,Kotlin,我有一个列表,其中每个周都有一个列表 我的意图是通过N个索引移动特定的一天;如果它落在当前所在周之外,则将其移到适当的一周 我该怎么做呢 我试着用平面图来绘制周的列表,这样所有的日子都被安排在一个巨大的列表中,我可以简单地移动列表中的日期。这是可行的,但我最终得到了一个新的天数列表,我不知道如何把它重新组合起来 我不确定我是否正确理解了你的问题,但无论如何我会试试看 基本上,您有一个矩阵NxM(其中N=7和M=weeks.size),其中每行表示一周 假设你有一天的指数(i0,j0),你想向前

我有一个
列表
,其中每个
都有一个
列表

我的意图是通过N个索引移动特定的一天;如果它落在当前所在周之外,则将其移到适当的一周

我该怎么做呢



我试着用平面图来绘制周的列表,这样所有的日子都被安排在一个巨大的列表中,我可以简单地移动列表中的日期。这是可行的,但我最终得到了一个新的天数列表,我不知道如何把它重新组合起来

我不确定我是否正确理解了你的问题,但无论如何我会试试看

基本上,您有一个矩阵
NxM
(其中
N=7
M=weeks.size
),其中每行表示一周

假设你有一天的指数
(i0,j0)
,你想向前移动
k
位置(如果
k
为负,则向后移动)。因此,您只需要根据此输入计算新的目标索引
(i1,j1)

很容易看出
(i1,j1)=(i0+k/N,j0+k%N)

point.x
是周数,
point.y
是日数

现在你需要决定你应该做什么

  • 如果你的结构中没有索引

  • 如果你已经有了一天的索引


  • 需要更多信息。一周是否总是包含七个特定连续日期的详尽列表?日子是简单的日期(我想不是,因为它们可以移动)还是有时间的事件?是否因为几周内没有几天,所以几周之间有时会有间隔?这是我的错。列表上没有任何限制,例如,对于这个特定场景,在给定的一周中可以有任意数量的“天”。你走对了方向!我选择了一个可怕的例子,用上面的日子(对不起):所以请考虑他们的特殊星期,那里可以有多少天。我认为这会使事情变得相当复杂?有一个明显的解决方案(迭代行并从k中减去它们的大小,直到kfun getNewPosition(src: Point, k: Int): Point { return Point(src.x + k/7, src.y + k%7) }