【发布时间】:2020-12-14 07:35:53
【问题描述】:
【问题讨论】:
-
不是 Java 和 Kotlin。这是一个或另一个。请不要发帖images of code
-
它使对象属性名称等代码的屏幕截图更加清晰
-
你可以说“构造函数接受 3 个参数:名称、代码和版本”。或者更好的是,显示类定义。
标签: list kotlin collections
【问题讨论】:
标签: list kotlin collections
使用groupingBy 和reduce
Kotlin playground
data class MyObject(
val name: String,
val code: String,
val version: Int
)
fun main() {
val objects = listOf(
MyObject("Book1", "code_A", 2),
MyObject("Book1", "code_A", 1),
MyObject("Book2", "code_B", 3),
MyObject("Book2", "code_B", 2),
MyObject("Book2", "code_B", 1),
MyObject("Book3", "code_C", 1),
)
val result = objects
.groupingBy { it.code }
.reduce { _, a, b -> maxOf(a, b, compareBy { it.version }) }
.values
print(result.joinToString(separator = "\n"))
}
【讨论】: