这是一个Scala新手问题。
我将一些数据存储在.row-no-padding {
[class*="col-"] {
padding-left: 0 !important;
padding-right: 0 !important;
}
}
中,其中值继续修改。例如,在下面的类中有一个地图,其中包含发送到市场的订单,我想跟踪订单数量和每个价格。此地图将在每个进入市场的订单中发生变化。
TreeMap
现在,当新订单的价格为100时,我可以将其添加到地图上。
class MyData {
// Price -> Quantity map
var orders: TreeMap[Int, Int] = TreeMap.empty
}
现在,价格5的订单已修改为100.如何使用var a = new MyData;
// new order at price 5 with qty 200
a.orders += (5 -> 200)
执行此操作?
TreeMap
答案 0 :(得分:2)
嗯...... TreeMap
可以在scala.collection.immutable
包中找到。
请注意immutable
事。所以TreeMap
是不可变的数据结构,这意味着......你不能就地修改它。没有插入,没有更新,根本没有变化。但是你可以通过应用这些修改来获得它的另一个副本。
所以......要修改,您必须将a.orders
重新分配给修改过的副本。
a.orders = a.orders + ( 5, 100 )
答案 1 :(得分:2)
如果您想要一个可变结构,可以使用scala.collection.mutable.Map
代替TreeMap
。