除了Seq之外,还有更好的数据类型可以用于
跟踪列表中的索引?
是的,a
Vector[T]
当您希望随机访问基础集合时,建议使用:
scala> val vector = Vector(1,2,3)
vector: scala.collection.immutable.Vector[Int] = Vector(1, 2, 3)
scala> vector.updated(0, 5)
res3: scala.collection.immutable.Vector[Int] = Vector(5, 2, 3)
请注意
Vector
也将通过
IndexOutOfBoundsException
当您尝试将数据插入空向量时。添加和预处理数据的一种好方法是使用
:+
和
:+
,分别为:
scala> val vec = Vector[Int]()
vec: scala.collection.immutable.Vector[Int] = Vector()
scala> vec :+ 1 :+ 2
res7: scala.collection.immutable.Vector[Int] = Vector(1, 2)