【发布时间】:2022-09-26 11:17:33
【问题描述】:
数据看起来像这样
class Person (
var id:Int,
var name:String
)
class Option (
var level:Int
)
val p1 = Person(1, \"A\")
val p2 = Person(2, \"B\")
val opt1 = Option((0..1000).random())
val opt2 = Option((0..1000).random())
val opt3 = Option((0..1000).random())
val opt4 = Option((0..1000).random())
val arr = listOf(
listOf(p1,p2,opt1),
listOf(p1,p2,opt2),
listOf(p1,p2,opt3),
listOf(p2,p1,opt4)
)
我想将 \"A\" 和 \"B\" 作为名称的唯一值。
如果集合看起来像这样,这很容易:
val simple = listOf(p1,p2,p2,p1).distinctBy{it.name}
simple.forEach {
println(it.name)
}
-
为什么要使用列表列表,每个列表似乎都有一些隐式结构,而不是一些合适对象的列表?
-
实际上数据来自 JSON 格式的 Web 服务器,并且包含 JSON 数组和对象。我将其转换为我的课程。该列表只是我的问题。
标签: kotlin collections distinct