gpt4 book ai didi

java - 在日期结束后在列表 kotlin 中添加值

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

嘿,我正在努力通过 enum 类创建类型为 INCOMINGOUTGOINGTIME 的列表。我的数据类是通过 api 调用填充的,并根据列表中的填充。我想修改以在当前日期结束时添加 TIME 枚举值。

fun main() {
val list = mutableListOf(
Conversation(ConversationType.INCOMING.value, Sender(1, "2021/10/12")),
Conversation(ConversationType.INCOMING.value, Sender(2, "2021/10/12")),
Conversation(ConversationType.OUTGOING.value, Sender(3, "2021/10/11")),
Conversation(ConversationType.OUTGOING.value, Sender(4, "2021/10/11")),
Conversation(ConversationType.OUTGOING.value, Sender(5, "2021/10/11")),
Conversation(ConversationType.OUTGOING.value, Sender(6, "2021/10/09")),
Conversation(ConversationType.INCOMING.value, Sender(7, "2021/10/09")),
Conversation(ConversationType.INCOMING.value, Sender(8, "2021/10/09")),
Conversation(ConversationType.INCOMING.value, Sender(9, "2021/10/09")),
Conversation(ConversationType.OUTGOING.value, Sender(10, "2021/10/08")),
Conversation(ConversationType.OUTGOING.value, Sender(11, "2021/10/07"))
)
}

枚举类

enum class ConversationType(val value: Int) {
INCOMING(1),
TIME(0),
OUTGOING(2);
}

data class Conversation(
val type: Int? = null,
val sender: Sender
)

data class Sender(
val id: Int? = null,
val date: String? = null
)

我需要这样的输出

Conversation(type=1, sender=Sender(id=1, date=2021/10/12))
Conversation(type=1, sender=Sender(id=2, date=2021/10/12))
Conversation(type=0, sender=Sender(id=null, date=2021/10/12))
Conversation(type=2, sender=Sender(id=3, date=2021/10/11))
Conversation(type=2, sender=Sender(id=4, date=2021/10/11))
Conversation(type=2, sender=Sender(id=5, date=2021/10/11))
Conversation(type=0, sender=Sender(id=null, date=2021/10/11))
Conversation(type=2, sender=Sender(id=6, date=2021/10/09))
Conversation(type=1, sender=Sender(id=7, date=2021/10/09))
Conversation(type=1, sender=Sender(id=8, date=2021/10/09))
Conversation(type=1, sender=Sender(id=9, date=2021/10/09))
Conversation(type=0, sender=Sender(id=null, date=2021/10/09))
Conversation(type=2, sender=Sender(id=10, date=2021/10/08))
Conversation(type=0, sender=Sender(id=null, date=2021/10/08))
Conversation(type=2, sender=Sender(id=11, date=2021/10/07))
Conversation(type=0, sender=Sender(id=null, date=2021/10/07))

最佳答案

据我了解你想要什么,你需要这样的东西:

var previousDate: String? = null
var i = -1
while (i < list.size) {
i++
val currentDate = list[i].date
previousDate?.let {
if (currentDate != previousDate) {
list.add(i + 1, Conversation(ConversationType.TIME.value, Sender(null, it)))
}
}
previousDate = currentDate
}

关于java - 在日期结束后在列表 kotlin 中添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69542530/

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