Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从MutableSet内的MutableMap中删除项_Android_Kotlin - Fatal编程技术网

Android 从MutableSet内的MutableMap中删除项

Android 从MutableSet内的MutableMap中删除项,android,kotlin,Android,Kotlin,我尝试用下面的代码删除它 [ground={}, ground_level={}, date_of_birth=1988-07-18T00:00Z] 上面的行显示错误,甚至没有运行 Activity.player.chart_values.remove('date_of_birth') 不确定MutableMap.MutableEntry是如何工作的,但我会使用Pair Type inference failed. The value of the type parameter T s

我尝试用下面的代码删除它

[ground={}, 
ground_level={}, 
date_of_birth=1988-07-18T00:00Z]
上面的行显示错误,甚至没有运行

Activity.player.chart_values.remove('date_of_birth')

不确定
MutableMap.MutableEntry
是如何工作的,但我会使用
Pair

Type inference failed. The value of the type parameter 
T should be mentioned in input types (argument types, 
receiver type or expected type). Try to specify it explicitly.
var图表\u值:MutableSet=mutableSetOf()
chart_values.removeIf{it.first==“出生日期”}
图表\u值是一个
可变表集
,其元素类型为
可变表映射。可变表条目
因此,您只能从中删除
MutableMap.MapEntry
,而不能删除
MutableMap

您可以使用迭代遍历
MutableSet
MutableMap.MapEntry
元素,然后尝试使用给定键删除映射项

var chart_values: MutableSet<Pair<String, Any>> = mutableSetOf()
chart_values.removeIf { it.first == "date_of_birth" }
var图表\u值:可变表集?=可变集合
fun removeMapEntry(映射键:字符串):布尔值{
val iterator:MutableIterator=图表_值?.iterator()?:返回false
迭代器.forEach{
//it:MutableMap.MutableEntry
if(mapKey==it.key){
iterator.remove()
返回真值
}
}
返回错误
}

请注意,在
可变表集中修改
可变表集
的任何元素都可能会破坏它。是的,
MutableSet
真的是你想要的吗,而不是,比如说,
MutableList
?@LouisWasserman是的,整个项目都需要MutableSet。如果你发现非常奇怪的bug,当元素在集合中时,却找不到它们,这就是原因。你也可以看看这个线程吗?基于相同的内容基于相同主题的另一个线程--
var chart_values: MutableSet<Pair<String, Any>> = mutableSetOf()
chart_values.removeIf { it.first == "date_of_birth" }
var chart_values: MutableSet<MutableMap.MutableEntry<String, Any>>? = mutableSetOf()

fun removeMapEntry(mapKey: String): Boolean {
    val iterator: MutableIterator<MutableMap.MutableEntry<String, Any>> = chart_values?.iterator() ?: return false
    iterator.forEach { 
        // it: MutableMap.MutableEntry<String, Any>
        if (mapKey == it.key){
            iterator.remove()
            return true
        }
    }
    return false
}