如何在Kotlin中的列表映射中添加键和值?

如何在Kotlin中的列表映射中添加键和值?,kotlin,Kotlin,我创建了一个列表地图,我只是想在地图上添加如下内容: val bandMap: Map<Int,List<List<Int>>> = mutableMapOf() val rsrpList = mutableListOf<Int>() val rsrqList = mutableListOf<Int>() val levelList = mutableListOf<Int>() rsrpList.add(3) rsrqLi

我创建了一个列表地图,我只是想在地图上添加如下内容:

val bandMap: Map<Int,List<List<Int>>> = mutableMapOf()

val rsrpList = mutableListOf<Int>()
val rsrqList = mutableListOf<Int>()
val levelList = mutableListOf<Int>()
rsrpList.add(3)
rsrqList.add(4)
levelList.add(1)
val listOfLists = mutableListOf(rsrpList,rsrqList,levelList)
bandMap[3] = listOfLists
不知道这会在哪里?好像它不知道我在想什么。我尝试了put方法,但它似乎无法识别

谢谢

编辑:


谢谢Tenfour04-你帮了很多忙

在变量类型中,您已在此处将外部映射指定为只读映射,将内部列表指定为只读列表:

private val bandMap: MutableMap<Int,List<List<Int>>> = mutableMapOf()
或者,如果您还需要修改列表的外部列表:

private val bandMap: MutableMap<Int, MutableList<MutableList<Int>>> = mutableMapOf()
private val bandMap:MutableMap=mutableMapOf()
另请注意,这种三维集合结构使用起来有点混乱(容易出错)。您可能会想出一个使用类的结构,使其更易于推理和使用。我真的不知道你的结构代表什么,但这里有一个模糊的例子:

class Band {
    val rsrpList = mutableListOf<Int>()
    val rsrqList = mutableListOf<Int>()
    val levelList = mutableListOf<Int>()
}

val bandMap: MutableMap<Int, Band> = mutableMapOf()
bandMap[3] = Band()
类带{
val rsrpList=mutableListOf()
val rsrqList=mutableListOf()
val levelList=mutableListOf()
}
val bandMap:MutableMap=mutableMapOf()
波段映射[3]=波段()

谢谢,听起来至少解决了一些问题。在我的回答中仍然添加了这个问题。哦,你也需要一个可变地图!好吧,像这样?private val bandMap:mutableMapOf=mutableMapOf()。我在想“=mutableMapOf()”是在使其成为一个可变映射吗?它是在使其成为一个可变映射,但是由于属性类型的原因,您正在将其强制转换为一个映射。有关正确的语法,请参阅我编辑的答案。非常感谢!你是像我这样的初学者的救星!
private val bandMap: MutableMap<Int, MutableList<MutableList<Int>>> = mutableMapOf()
class Band {
    val rsrpList = mutableListOf<Int>()
    val rsrqList = mutableListOf<Int>()
    val levelList = mutableListOf<Int>()
}

val bandMap: MutableMap<Int, Band> = mutableMapOf()
bandMap[3] = Band()