Sorting it out!

Scala provides sorted, sortBy and sortWith methods. We will take a quick look at them and then tackle an interesting memoization problem.


The sorted method uses natural ordering amongst the elements of the collection. Natural ordering well, seems natural.

For example, given the following numbers:

1, 11, 22, 2

The natural ordering would be:

1, 2, 11, 22

And the alphanumeric ordering would be:

1, 11, 2, 22

Alternatively, please see for more on natural ordering.

Here is sorted in action:

scala> import scala.util.Random
import scala.util.Random
scala> val list = List.fill(10)(Random.nextInt(100))
list: List[Int] = List(5, 49, 37, 56, 54, 64, 9, 85, 76, 28)
scala> list.sorted ...

Get Scala Functional Programming Patterns now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.