基本上是標題。
如果我必須找到我所知道的單一領域,
a.any {
it.name == "user"
}
現在我有一個包含唯一 ID 的 listOf(Groups)
我想檢查
如果 user.groups.anyItemInThisList.UNIQUEID == otheruser.groups.anyItemInThisList.UNIQUEID
我的資料看起來像這樣
{
"groups":[
{
"id":4
"group":"Test Group",
"role":"creator",
"member_count":1,
"userType":"local"
}
]
}
uj5u.com熱心網友回復:
重新表述您的問題(確保我理解正確),您有兩個相同型別專案的串列,并且您想確定id兩個串列中出現的專案的屬性值是否存在。
要使用簡單的代碼完成此操作,但時間復雜度為 O(n^2),您可以使用它。它迭代所有專案,a并為每個專案迭代它b以查看是否有任何匹配項。
val result = a.any { x1 -> b.any { x2 -> x1.id == x2.id} }
要在O(n) 中完成,您可以使用 Set 來完成。這會從第一個串列中創建一組名稱,然后只需迭代第二個串列一次即可查看是否有任何名稱在第一組中。
val aIds = a.mapTo(HashSet(a.size)) { it.id }
val result = b.any { it.id in aIds }
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/315954.html
上一篇:從陣列c#中獲取重復項
