Introduction to Scala Part2 : Collections

Bubu
5,746 views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content

Traversable : Element Retrieval

  • Operations: head, last, headOption, lastOption, and find.
  • Goal: select the first or last element of a collection, or else the first element matching a condition.

Note, however, that not all collections have a well-defined meaning of what “first” and “last” means.

For instance, a hash set might store elements according to their hash keys, which might change from run to run. In that case, the “first” element of a hash set could also be different for every run of a program.

A collection is ordered if it always yields its elements in the same order. Most collections are ordered, but some (e.g. hash sets) are not– dropping the ordering gives a little bit of extra efficiency.

Ordering is often essential to give reproducible tests and to help in debugging. That’s why Scala collections give ordered alternatives for all collection types. For instance, the ordered alternative for HashSet is LinkedHashSet.

> List(1,2,3).head
res0: Int = 1

> List(1,2,3).last
res1: Int = 3

(headOption and lastOption will be discussed in this course C#03)

Retrieve the Element of Index N
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content