Home » TechNote » Scala: One more step forward

Scala: One more step forward

Hi all,

In two previous posts, I have guided you to prepare the environment, install IDE, and some basic of Scala. You can refer to the first part here, or the second part here

Today, I write the second part of Scala, focus on Arrays, Lists, Maps And Classes

Please note that the original tutorials: http://scalatutorials.com



  1. Arrays construct

  2. You can declare type of Array like

  3. To print nicely an Array’s content

  4. Arrays are mutable (can’t change it’s size once created, but can modify it’s elements)

  5. Array elements can be of any type


  1. Write function that print Array elements

  2. Array index

  3. Concatenation

  4. Diff

  5. Contains

  6. And many, many other APi you can find on Scala site: http://www.scala-lang.org/api/current/index.html#scala.Array



  • Construct

  • List elements can be of any type

  • Reference: http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.List

  • The default List is implemented as a Linked list

  • It is immutable (any “changes” craete a new list, the original is untouched)


  1. Declare Immutable List

  2. Mutable list

  3. Using (index)

  4. Concatenation

  5. Access elements



  • Maps are constructed simply using Map(key1 -> value1, key2 -> value2, …)

  • The default Map is Predef.Map which points to scala.collection.immutable.Map

  • You can’t have duplicate keys, adding a key value pair whose key already exists, overwrites the value

  • Order of iteration is not guaranteed to be consistent


  1. Immutable Construction

  2. Mutable Construction

  3. Cannot duplicate key

  4. Access Items

  5. Concatenation

  6. Find elements



  • The class body, is also the default constructor’s implementation

  • Automatic getters are generated for the class parameters defined using val

  • Automatic getters and setters are generated for class parameters defined using var

  • Everything is public by default unless explicity declared otherwise


Tagged width:,