为什么Kotlin不允许我向数组列表中添加元素

时间:2019-04-18 19:43:00

标签: arraylist kotlin

我有一个根据API响应构造的Kotlin对象

schedule: Map<String, ArrayList<String>>

我的对象如下所示。

  

{0 = [0,2.00,23.59],1 = [1,2.00,23.59],2 = [2,2.00,23.59],4 = [4,   2.00,23.59],5 = [5,2.00,23.59],6 = [6,2.00,23.59]}

在某个时候,我想从集合中添加/删除一个条目。例如,在第三个对象之后,我想添加一个条目

  

3 = [3,2.00,23.59]。

到目前为止,我尝试的是schedule.schedule.plus()方法失败。

这应该允许我添加一个Map<String, ArrayList<String>,但这不是吗?

更新:以下内容帮助我添加了所需的对象,但现在看来似乎无法对集合进行排序。

var list =  ArrayList<String>()
list.add(0,"2")
list.add(1,"23")
schedule.schedule?.put(num.toString(),list)

2 个答案:

答案 0 :(得分:0)

如果要为列表分配值,请使用free函数。因为plusAssign()方法就像a = b + c的行为,而plus()是a + = b。

答案 1 :(得分:0)

以下两项帮助我添加或删除了条目。

添加

 var list =  ArrayList<String>()
 list.add(0,num.toString())
 list.add(1,"5.0")
 list.add(2,"14.0")
 schedule.schedule?.put(num.toString(),list)

并删除。

schedule.schedule.remove("0")

但是我不得不将Map更改为MutableMap<String, ArrayList<String>>