【发布时间】:2021-12-21 15:59:17
【问题描述】:
我有一组需要合并和输出的警报。我正在努力了解如何在功能上做到这一点。我有我需要的一切,我只想将格式和输出结合起来。
orderedStatuses 包含一组警报
data class Alert(
val status: String,
val recordId: String
)
这是我目前正在返回的内容
Alerts:
Status1 :
000000000000
Status1 :
111111111111
Status2 :
222222222222
Status2 :
333333333333
Status3 :
444444444444
Status3 :
555555555555
这就是我想要的:
Alerts:
status1 :
('00000', '111111')
status2 :
('222222', '333333')
status3 :
('444444', '55555')
当前代码:
val alert = if (orderedStatuses.isEmpty()) {
"No alerts found for status"
} else {
"Records:\n" + orderedStatuses.joinToString("\n") { it ->
"\t${it.status} : \n" + it.recordId
}
}
【问题讨论】:
-
您能否详细说明输出中的
('00000', '111111')是什么?应该是recordId? -
是的,你是对的@viv3k
-
val recordIdsByStatus: Map<String, List<String>> = orderedStatuses.groupBy(Alert::status).mapValues { (_, alerts) -> alerts.map(Alert::recordId) } -
你的问题有点不清楚。您可以添加
orderedStatuses的值吗?做出非常粗略的假设,这就是你要找的pl.kotl.in/VSuhOLGMP 吗?
标签: java kotlin functional-programming set