Scala arrays are 0-based and are accessed with parenthesis, rather than square brackets:
val x = Array(1,2,3)
x(0)
You can also index them inline, or use the same syntax to instantiate other collections:
scala> List(1,2,3)(0)
res10: Int = 1
scala> List(1,2,3)(1)
res11: Int = 2
Unlike languages like Python and R, collections will not wrap around:
scala> List(1,2,3)(3)
java.lang.IndexOutOfBoundsException: 3
at scala.collection.LinearSeqOptimized$class.apply(LinearSeqOptimized.scala:51)
at scala.collection.immutable.List.apply(List.scala:83)
... 33 elided
scala> List(1,2,3)(-1)
java.lang.IndexOutOfBoundsException: -1
at scala.collection.LinearSeqOptimized$class.apply(LinearSeqOptimized.scala:51)
at scala.collection.immutable.List.apply(List.scala:83)
... 33 elided