【发布时间】:2021-12-03 18:11:12
【问题描述】:
假设我们在 Kotlin 中有以下结构:
val allExams = setOf("A", "B", "C", "D", "E", "F")
val examMap = mutableMapOf<String, Set<String>>()
examMap["1"] = setOf("A","B")
examMap["2"] = setOf("A","B","C")
examMap["3"] = setOf("A","B","C","D")
examMap["4"] = setOf("E")
examMap["5"] = setOf("F")
如何过滤以仅在匹配元素最多的地图项中维护?
在上述示例中,我想删除 examMap["1"] 和 examMap["2"],因为在 examMap["3"] 中我有 "A"、"B"、"C" 和 "D"(这是匹配次数最多的项目来自allExams 的元素)。 examMap["4"] 和 examMap["5"] 将被维护,因为它们是地图上唯一具有这些值的项目。
所以最后我希望地图具有以下值:
examMap["3"] = setOf("A","B","C","D")
examMap["4"] = setOf("E")
examMap["5"] = setOf("F")
【问题讨论】:
-
c实际上是examMap吗? -
是的,很抱歉打错了
-
如果你有另一个条目
map[6] = [ B, C, X]你会保留它吗? -
否,因为它必须匹配 allExams 中的元素
-
@user2620925 所以如果 allExams 有'X',你也想保留地图[6]?
标签: dictionary kotlin set