An array is a single object that stores references to a (possibly large) number of element objects.
Array is a parameterized type: the type of the elements is a type parameter of Array. So Array[Int] is an array of integers, Array[String] and array of strings, and so on.
If you already have the elements, you can create an array like this:
scala> val a = Array(13, 29, 37, 55) a: Array[Int] = Array(13, 29, 37, 55) scala> val b = Array("CS109", "is", "fun") b: Array[java.lang.String] = Array(CS109, is, fun)
Otherwise, you create an array using the new keyword, and providing the length of the array as an argument:
scala> val c = new Array[Int](20) c: Array[Int] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) scala> val d = new Array[String](10) d: Array[String] = Array(null, null, null, null, null, null, null, null, null, null)(Note that the elements are initialized to null, except for the number types, which are initialized to 0. An Array[Boolean] is initialized to false.)
The elements of an array L are accessed as L(0) to L(L.length-1). Scala uses normal round parentheses to access the elements of an array, not square brackets like Java, C, or Python.
The length of an array is fixed when you create it—you cannot append elements or change its length in any way (see ArrayBuffer if you need to do this).
The most useful methods of arrays are the common methods of all sequences.
scala> val L = Array("CS109", "is", "the", "best") L: Array[java.lang.String] = Array(CS109, is, the, best) scala> L.head res0: java.lang.String = CS109 scala> L.last res1: java.lang.String = best scala> L.mkString res2: String = CS109isthebest scala> L.mkString(" ") res3: String = CS109 is the best scala> L.mkString("--") res4: String = CS109--is--the--best scala> L.mkString("<", "_", ">") res5: String = <CS109_is_the_best> scala> (L.min, L.max) res6: (java.lang.String, java.lang.String) = (CS109,the) scala> L.sorted res7: Array[java.lang.String] = Array(CS109, best, is, the) scala> L.reverse res8: Array[java.lang.String] = Array(best, the, is, CS109) scala> L ++ Array("course", "at", "KAIST") res9: Array[java.lang.String] = Array(CS109, is, the, best, course, at, KAIST) scala> L :+ "course" res10: Array[java.lang.String] = Array(CS109, is, the, best, course) scala> "The" +: L res11: Array[java.lang.String] = Array(The, CS109, is, the, best)